小编分享如何在DOS下批量修改文件名
|
如果我们需要使用批处理命令批量修改文件名,首先需要确定这些文件是被命名为怎么样的格式,笔者总结一些网络上的知识,做了一些例子给大家看一下,文末有一些变量和参数介绍。
今天要批量重命名一些文件,(即:目录FILE下有很多子目录file1,file2,file3……filen子目录中都有一个文件aaa.jpg,现要实现aaa.jpg重名为带子目录的名称,如file1下面的命名为file1.jpg),想到DOS处理,网上找了些现成脚本,没达到预期的目的,一时恼火,就小补了下DOS相关知识,包括基本命令,重点研究了下批量处理命令。 如何在DOS下批量修改文件名? 方法一的思路与方法二大致相同,只不过在获取完整路径的时候,换用了效率更高的 for /r 语句,并用一个变量var来获取文件所在文件夹的完整路径,通过判断var是否经过赋值来判断当前处理的音乐文件是否位于同一目录下,因为直接用 %%~dpa 获取到的字符串最后有一个反斜杠,所以,第二个for语句中,用 !var:~,-1! 把最后的反斜杠去掉了(在for语句内部,如果要 引用已经发生了改变的变量,必须使用变量延迟功能,也就是最开始的 setlocal 语句),后面的思路和方法二的一样。其实,方法一的代码大可不必判断当前处理的文件与上一次处理的文件是否位于同一目录下,因为 for /r 的时候,会获得文件的完整路径,只需要对完整路径直接进行操作就可以了,可以借鉴随风的做法,在 %%~dpa 的时候,直接在最后加上一个点号,可以使得效率进一步提升。 方法一代码: 01@echo off *setlocal enabledelayedexpansion02for /r %%a in (aaa.jpg) do (if not defined %%~dpa set "var=%%~dpa"*set03"%%~dpa=a"04for %%i in ("!var:~,-1!")do ren "%%~fa" "%%~ni.jpg")05pause复制代码@echo off *setlocal enabledelayedexpansionfor /r %%a in (aaa.jpg) do (if not defined %%~dpa set "var=%%~dpa"*set"%%~dpa=a"for %%i in ("!var:~,-1!")do ren "%%~fa" "%%~ni.jpg")pause 方法二用 dir /a-d /b /s 来获取完整路径名,放到for语句中来解析完整路径字符串,用 %%~dpa. 来获取音乐文件所处的文件夹完整路径(这里使用了一个小技巧:在字符串最后添加一个点号,从而使得for语句的%%~ni把文件夹名当做文件名来处理,我直接运行以上脚本发现一直出问题,后来发现先显示下%%~dpa. 即在ren 前加上echo "%%~dpa." 再执行脚本就OK了,具体原因不明,望高手解答),再用 %%~ni 获取文件夹名,用ren来实现改名,%%~nxi 获取原文件完整的文件名和后缀名。 方法二代码: 01@echo off02for /f "delims=" %%i in ('dir /a-d /b /s D:1*.jpg') do (ren "%%i" "%%~nxi" )03pause复制代码@echo offfor /f "delims=" %%i in ('dir /a-d /b /s D:1*.jpg') do (ren "%%i" "%%~nxi" )pause 基本格式(这里写的是在命令行里用的格式,如果是在批处理中,需要把其中%再多加个%形成%%): for /参数 %变量 in (集) do 命令 注:上面除中文的以外,其余的是按它的格式要求书写的,大小写都行。 参数:FOR分四种参数 D L R F,并且有的参数还可附加另外的选项下面会分别介绍 变量:(记住如果是在批处理中使用for命令时,变量前的%需改为%%)这个变量名是由单个字母组成且区分大小写(原帮助是这么说的,实际运用中用单个数字作为变量名试过证明也可行),如%B和%b代表的是不同的变量。 一、参数 /d for /d %%变量 in (集) do 命令 /d 参数是指定仅对目录而不是文件执行的for命令。 for /d %a in (c:*.*) do @echo %a 二、参数 /R /R参数之后还可带盘符及路径 for /r 此处可以带有路径 %变量 in (集) do 命令 例1: 01@echo off02rem 显示d:盘中所有文件名为file1和file2的列表03for /r d: %%h in (file1,file2) do if exist %%h echo %%h04pause复制代码@echo offrem 显示d:盘中所有文件名为file1和file2的列表for /r d: %%h in (file1,file2) do if exist %%h echo %%hpause |
相关文章
热销商品
淘牛大力中药材野生新鲜干货500g克大力薯金钟根煲汤泡酒五指毛桃
牛大力中药材野生新鲜干货500g克大力薯金钟根煲汤泡酒五指毛桃
¥18.5 领券购买
天老汤搓澡巾家用洗澡巾单层薄搓灰布女士专用强力搓泥神器老式擦澡
老汤搓澡巾家用洗澡巾单层薄搓灰布女士专用强力搓泥神器老式擦澡
¥13.9 领券购买
天羽毛球拍打底膜手柄握把缓震膜缓冲膜防震膜底胶保护缓冲提升握R
羽毛球拍打底膜手柄握把缓震膜缓冲膜防震膜底胶保护缓冲提升握R
¥7.5 领券购买
淘恒源祥纯羊毛衫男士秋冬季中老年加厚翻领毛衣爸爸装针织长袖羊绒
恒源祥纯羊毛衫男士秋冬季中老年加厚翻领毛衣爸爸装针织长袖羊绒
¥176 领券购买
天双肩包男士短途旅游背包可扩容行李包大容量学生书包女出差电脑包
双肩包男士短途旅游背包可扩容行李包大容量学生书包女出差电脑包
¥49.99 领券购买
天多威征途2代|跑步鞋男款田径训练碳板专业跑鞋女二代马拉松运动鞋
多威征途2代|跑步鞋男款田径训练碳板专业跑鞋女二代马拉松运动鞋
¥184 领券购买
天新一步【7A抗菌】纯棉保暖内衣女秋冬季轻薄款打底棉毛衫秋衣秋裤
新一步【7A抗菌】纯棉保暖内衣女秋冬季轻薄款打底棉毛衫秋衣秋裤
¥79.1 领券购买
淘正品特种兵男作战靴钢头钢底工装靴羊毛冬季加绒马丁靴高帮劳保鞋
正品特种兵男作战靴钢头钢底工装靴羊毛冬季加绒马丁靴高帮劳保鞋
¥58 领券购买
天厚底全包勃肯鞋女2026新款秋季一脚蹬豆豆博肯单鞋复古休闲乐福鞋
厚底全包勃肯鞋女2026新款秋季一脚蹬豆豆博肯单鞋复古休闲乐福鞋
¥83.1 领券购买
天CROSSER真皮赤足鞋4e宽楦透气运动休闲鞋 宽头男女训练健身综训鞋
CROSSER真皮赤足鞋4e宽楦透气运动休闲鞋 宽头男女训练健身综训鞋
¥159 领券购买
淘可爱注水热水袋冬季毛绒灌水暖水袋小号暖宝宝女生敷肚子学生宿舍
可爱注水热水袋冬季毛绒灌水暖水袋小号暖宝宝女生敷肚子学生宿舍
¥18.5 领券购买
淘热烫杠子24v加长14厘米数码烫发机器杠子美发法式超长喇叭卷发杠
热烫杠子24v加长14厘米数码烫发机器杠子美发法式超长喇叭卷发杠
¥2.1 领券购买
天OBOX全铝镁合金化妆箱专业跟妆师24寸带灯带镜子密码锁拉杆行李箱
OBOX全铝镁合金化妆箱专业跟妆师24寸带灯带镜子密码锁拉杆行李箱
¥749 领券购买
天【75ml】安娜苏筑梦美人鱼独角兽女士淡香水清新花果调送女友礼物
【75ml】安娜苏筑梦美人鱼独角兽女士淡香水清新花果调送女友礼物
¥188 领券购买
淘电热毯单人双人双控智能定时安全调温辐射无三人家用1.8米电褥子
电热毯单人双人双控智能定时安全调温辐射无三人家用1.8米电褥子
¥16.1 领券购买
天被子冬被加厚绒保暖2026新款褥被芯四六七件套全套一整套宿舍棉被
被子冬被加厚绒保暖2026新款褥被芯四六七件套全套一整套宿舍棉被
¥118 领券购买

