本帖最后由 yhcfsr 于 2018-7-6 23:58 编辑
回复 3# Batcher
是的,没有考虑多余999个文件的情况,如果单个目录文件达到1000个以上,代码的中的补0操作就不适用.
所以,请题主注意,如果出现上述情况,需要对补0操作加个判定语句.
下面稍微改下代码:- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir/ad/s/b') do (
- set/a "n=0"
- pushd "%%a"
- for /f "delims=" %%b in ('dir/a-d/b') do (
- set/a "n+=1"
- set "count=!n!"
- if !n! lss 100 (
- set "count=00!count!"
- set "count=!count:~-3!"
- )
- ren "%%b" "!count!%%~xb"
- )
- popd
- )
- pause
复制代码
|