您的位置:首页 > 其它

对文件进行批量重命名

2013-10-17 00:17 288 查看
1、对文件进行批量重命名,作用:直接更改文件后缀。这个d.bat文件可以把乱改文件后缀,慎用。

d.bat内容如下:

cd /d "d:\酷狗\音乐下载"
for /f "usebackq delims==" %%i in (`dir /a-d /b /s *.mp3`) do move "%%i" "%%i.bak"  //将所有的mp3文件重命名为 .mp3.bak
for /f "usebackq delims==" %%i in (`dir /a-d /b /s *.exe`) do move "%%i" "%%i.mp3"  //将所有的exe文件重命名为 .exe.mp3
for /f "usebackq delims==" %%i in (`dir /a-d /b /s *.rmvb`) do move "%%i" "%%i.exe" //将所有的rmvb文件重命名为 .rmvb.exe


2、对文件进行批量重命名,作用:直接更改文件名,不会改变文件后缀。在整理文件名时有用。



e.bat内容如下:

cd /d "d:\酷狗\音乐下载"
@echo off
setlocal enabledelayedexpansion 【作者注:这里需要开启延迟变量,此东西是windows另外一个批处理难点,比for循环要难。该句意思是:因为批处理执行的时候并不是按照一行一行的代码去执行,而是读取一个代码块来执行。什么是代码块:下面的for循环几行就是代码块,类似的还有if语句等。<<<举例:处理所有mp3文件:>>>从for循环开始到结束,这段时间内,%%a是变量,那么要分别提取文件名和后缀,需要2个变量,这2个变量就必须要开启延迟变量,否则的话只能处理第一个找到的mp3文件。】
REM for   %%i in (*.mp3)  do echo %%i
REM  【<<<举例:处理所有mp3文件>>>】

for %%a in (*.mp3) do (       【作者注:for循环代码块:开始】
set name=%%~na          【作者注:只获取mp3文件名,不要后缀】
set ext=%%~xa           【作者注:获取后缀,即mp3】
move "!name!!ext!"   "!name:.=!!ext!"
)                             【作者注:for循环代码块:结束】

for %%a in (*.wmv) do (
set name=%%~na
set ext=%%~xa
move "!name!!ext!"   "!name:[=!!ext!"        【作者注:把所有wmv文件中,删掉文件名中的[这个方括号。】
move "!name!!ext!"   "!name:凤凰传奇=!!ext!" 【作者注:把所有wmv文件中,删掉文件名中的"凤凰传奇"。】
)

for %%a in (*.*) do (
set name=%%~na
set ext=%%~xa
move "!name!!ext!" "!name:周杰伦=Jay!!ext!"  【作者注:把所有的文件名中,含有"周杰伦"的都替换为"Jay"】
)

cd /d "E:\照片"

for %%a in (*.jpg) do (
set name=%%~na
set ext=%%~xa
move "!name!!ext!" "!name:IMG_=IMG_2011年10月!!ext!" 【作者注:将所有的jpeg文件,给其文件名加上日期,比如2011年10月,效果如下:】
)
REM  IMG_2011年10月_0070.jpg
REM  IMG_2011年10月_0076.jpg
REM  IMG_2011年10月_0079.jpg
REM  IMG_2011年10月_0119.jpg
REM  IMG_2011年10月_0120.jpg
REM  IMG_2011年10月_0121.jpg


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息