批处理操作

两个文件夹里的文件名都是一样的,想合并到一个文件夹里,就得给文件改名字。因为文件较多,不愿手工一个个去改,网上找了个批量改文件名的脚本,稍微改了下。如下

@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR %%a in (*) do (
set "name=%%a"
set "name=!name:c=c_2_!"
ren "%%a" "!name!"
)

稍微解释下一些语法 SetLocal ENABLEDELAYEDEXPANSION 延迟扩展,当循环中用到了变量时,需要开启这个功能。具体的原理我也没整太明白。 %%a:for循环特有的变量引用方式。 !name!: 当开启延迟扩展时,变量的引用方式。正常情况下变量引用方式是:%name% !name:c=c_2!:把name变量值中的’c’ 替换成‘c_2’, 如,name=’Music01.wav’,替换后变成了’Music_2_01.wav’

Written on June 9, 2019