@echo off setlocal enabledelayedexpansion for /f "tokens=*" %%i in ('dir/b/a-d') do ( set /a cnt+=1 set fn=00!cnt!_! ren "%%i" "!fn:~-3!%%i") pause
效果如图:
在Typedown中效果:
按时间顺序加序号前缀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
@echo off setlocal enabledelayedexpansion :: 初始化计数器 set /a b=0 :: 遍历当前目录下的所有文件,按时间顺序 for /f "delims=" %%f in ('dir /b /od *.*') do ( if not "%%f"=="%~nx0" ( set /a b+=1 :: 确保序号为两位长度,不足两位时前面补零 set "num=00!b!" set "num=!num:~-2!" :: 重命名文件,格式为两位序号加上文件的原始名 ren "%%f" "!num!_%%f" echo Renamed: %%f to !num!_%%f ) ) pause
@echo off setlocal enabledelayedexpansion :: 初始化计数器 set /a b=0 :: 遍历当前目录下的所有文件,按时间顺序 for /f "delims=" %%f in ('dir /b /od *.*') do ( if not "%%f"=="%~nx0" ( set /a b+=1 :: 确保序号为两位长度,不足两位时前面补零 set "num=00!b!" set "num=!num:~-2!" :: 获取文件原始名去掉第一位后的部分 set "originalName=%%f" set "modifiedName=!originalName:~1!" :: 重命名文件,格式为两位序号加上文件原始名去掉第一位 ren "%%f" "!num!!modifiedName!" echo Renamed: %%f to !num!_!modifiedName! ) ) pause