大家好,最近在本网站学习批处理的知识,真是丰富,特别是给新人的帖子,很是受用。但是还有有好多不明白,请给以解释,谢谢。
下面代码是有关重命名的,看不大懂有
第一:在 ren "%%a" "!num:~-2!.%s%" 中,“num:~-2 ”的意思?是截取字所给的num字符?在前面代码中给了num的值是100,为什么执行的结果是文件名都是按两位数排列的?且是从第1开始的,不是在num之上累加的吗;
第二:在ren "%%a" "!num:~-2!%%~xa" 中,在扩展名中%%~xa 中,%%~x是固定不变的吗,紧跟在其后的a必须与前的变量%%a中的字母a一致吗?即前面的改名也可变成 ren "%%i" "!num:~-2!%%~xi"- @echo off
- rem 如果你的文件不止100个.把num初始值改为1000,!num:~-2!改为!num:~-3!,依此类推...
- setlocal enableDelayedExpansion
- set /p s=请输入文件的扩展名(如txt):
- set num=100
- echo 开始处理,请稍等。。。。。
- echo.
- for %%a in (*) do (
- if not "%%a"=="%~nx0" (
- set /a num+=1
- if "%%~xa"=="" (ren "%%a" "!num:~-2!.%s%"
- )else (ren "%%a" "!num:~-2!%%~xa")
- )
- )
- pause>nul
复制代码
|