如何在DOS下批量修改文件名?批处理修改文件名称一些见解( 二 )


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例2:
01@echo off02rem 删除C盘中所有*.chk的文件03for /r c: %%h in (*.chk) do del /q %%h04pause复制代码@echo offrem 删除C盘中所有*.chk的文件for /r c: %%h in (*.chk) do del /q %%hpause注:del /q 表示用安静模式删除(不需确认)
三、参数 /L
for /L %%变量 in (起始值,每次增值,结束时的比较值) do 命令
(上面L也可用小写,主要为了视觉上不与数字1混淆而没用小写)
(起始值,每次增值,结束时的比较值)相当于一个等差数字序列,从“起始值”的数字开始,每次增加多少(也可设定为负数)为“每次增值”,并与“结束时的比较值”比较,超出则退出for循环(也不执行本轮后面的do 命令) 。
例:
01@echo off02::在D盘建立aa1~ aa5五个文件夹03for /L %%i in (1,1,5) do md d:aa %%i04pause复制代码@echo off::在D盘建立aa1~ aa5五个文件夹for /L %%i in (1,1,5) do md d:aa %%ipause四、参数 /f
这个参数/f将会打开(集)里的文件,使for命令能处理文本文件的读取和添加删除替换等编辑性的操作,可谓功能强大,因此也相对复杂一些 。
五、变量
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称 。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串 。
以上便是在DOS下批量修改文件名的一些见解和方法,用户可以根据变量和参数对批量修改文件名的文件进行处理 。

推荐阅读