1、bat实现数字顺序命名
@echo off
setlocal enabledelayedexpansion
set count=100
for /f "delims=" %%i in ('dir /b *.jpg,*.png,*.bmp,*.jpeg,*.gif,*.m4v') do call:Rename "%%~i"
pause
exit:Rename
set /a count+=1
if /i "%~1"=="伯爵与妖精!count:~1!%~x1" goto :eof
if exist "伯爵与妖精!count:~1!%~x1" goto Rename
echo 改名:%1 伯爵与妖精!count:~1!
ren "%~1" "伯爵与妖精!count:~1!%~x1"
goto :eof
@echo off#不显示命令
setlocal enabledelayedexpansion#开启扩展本地环境变量延迟
set count=100#赋值命令:SET [variable=[string]]
for /f "delims=" %%i in ('dir /b *.jpg,*.png,*.bmp,*.jpeg,*.gif,*.mp4') do call:Rename "%%~i"
#dir /b:提取文件后缀为*.jpg,*.png,*.bmp,*.jpeg,*.gif,*.mp4这几个形式的文件名
#for /f:用来解析文本,读取字符串
#delims:负责切分字符串,=后面没有字符表示全部提取
#call:调用另一个批处理程序:Rename
pause#停止
exit#退出
:Rename
set /a count+=1#变量等式:count=count+1
if /i "%~1"=="!count:~1!%~x1" goto :eof #中止命令,该行不执行用于goto语句跳转用的
if exist "!count:~1!%~x1" goto Rename#循环命令,该行不执行用于goto语句跳转用的
echo 改名:%1 !count:~1!#DOS命令行显示:“改名:第一个外部参数‘原文件名’ 新文件名”
ren "%~1" "!count:~1!%~x1":#改名命令:第一个参数改名为"!count:~1!%~x1"(含扩展名)
goto :eof#中止
#set /a:是让SET可以支持数学符号进行加减等一些数学运算!
#%%~xi:扩充%%i到文件的扩展名
#%~1:当参数以引号开头,会自动删除引号
#%1:当参数以引号开头,不删除引号,表示原输入字符,如果不借助其他命令,最多接受9个额外参数
#两个感叹号中间是变量名,固定用法
#%a%:变量的引用;%%i:for 语句里面特有的变量;%1 - %9:9个外部变量,%0表示文件名本身
#if exist :判断文件是否存在
#两个::相当于注释。与rem相同,只是执行时不显示::后的内容;一个:相当于标号定义。该行也不会执行,只是给goto语句跳转用的。
#if /i:可以忽略字母大小写
#eof:end of file的缩写,用于中止call,继续执行其他命令
TIPS:如果想固定命名前缀,可以在所有!count前面加字;如果想从02开始命名则count改成101
2、整体操作
在指定目录下新建一个txt文本,把开头的代码法制进去,重命名后缀名为bat,双击运行即可完成修改,以下为代码运行结果。