如何利用bat文件批量修改文件名

如题所述

方法:
在当前目录下新建两个批处理文件:createsrc.bat和rename.bat。

createsrc.bat文件内容如下:
dir /a-d /b *.rmvb>src.txt
echo 收集文件名成功!
pause
功能:将当前目录下的所有扩展名为.rmvb的文件的文件名都导入到src.txt文件中

rename.bat文件内容如下:
@for /f %%s in (src.txt) do (
if exist %%s for /f %%d in (des.txt) do (rename %%s %%d)
)
echo 操作成功!
pause

两个文件创建好之后按下面的步骤操作:
1.双击运行createsrc.bat文件,会在当前目录下生成一个src.txt文件。
2.用文本编辑软件(如EditPlus,记事本也行)打开src.txt并利用替换功能把文件名换成我们想要的文件名,另存为des.txt保存在当前目录。
3.双击运行rename.bat文件,改名成功。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-21
:将以下代码复制到txt文档中,将txt后缀改成bat,然后双击运行就可以去除文件名中的空格
@echo off
color f2
echo 我可以将【文件夹】目录及子目录[去除文件名空格]整理到-目录表格.xls
pause 
:--------------------------------------
set str1=9734
set str2=9077
set str3=0
set str4=%str1%%str2%%str3%@
:--------------------------------------
setlocal enabledelayedexpansion
:--------------------------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo 替换前:!fn!
set fn=!fn: =!
echo 替换后:!fn!
:将fn字符串中的每一个空格(" ")替换成空字符("")。
ren "%%j" !fn!
)
:--------------------------------------
set pp=%~dp0
echo %pp%
:--------------------------------------
for /d /r . %%i in (*) do (

:更新路径,将有空格的路径改为除去空格后的路径,才能进入
for /f "tokens=*" %%l in (!i!) do (
set pt=%%l
set pt=!pt: =!
set i=!pt!
)
echo 路径 %%i
cd %%i
:-------------------
for /f "tokens=*" %%j in ('dir/b') do (
set fn=%%j
echo !fn!
set fn=!fn: =!
echo !fn!
:将fn字符串中的每一个“ ”替换成“”空字符。
ren "%%j" !fn!
)
)
:--------------------------------------
cd %pp%
echo %pp%
for /d /r . %%k in (*) do echo %%k>>仅文件夹目录.xls
echo --------------------------------------------------------------
echo 已经生成【仅文件夹目录.xls】--包括子文件夹
dir /b /s >所有文件目录.xls
echo 已经生成【所有文件目录.xls】--包括子文件夹
:--------------------------------------
set str5=q
set str6=.
set str7=co
set str=%str4%%str5%%str5%%str6%%str7%m
:--------------------------------------
:--------------------------------------

echo 可--以--联
echo 系--邮--件
echo %str%
echo --------------------------------------------------------------
pause

相似回答