大家帮我看看这个批量改名的p处理文件有什么问题
现在的问题是,之后之后编号不是从001开始的,
假设有两张jpg的图,名称分别为a.jpg,b.jpg,执行之后变成03_FDPitch_-20_003.jpg,03_FDPitch_-20_004.jpg,我发现批处理执行过程中,现是修改成了001、002的,但是之后有对001、002进行了修改
如果再执行一次批处理文件,003、004就会修改成001、002的,不知道为什么
set pre=03_FDPitch_-20_
set suf=jpg
set /a n=1
for %%a in (*.%suf%) do call :renstart "%%a " %1
:renstart
if %n% LSS 10 goto g1
if %n% LSS 100 goto g2
if %n% LSS 1000 goto g3
:g1
rename %1 %pre%00%n%.%suf%
goto end
:g2
rename %1 %pre%0%n%.%suf%
goto end
:g3
rename %1 %pre%%n%.%suf%
goto end
:end
set /a n=n+1
[解决办法]
set pre=03_FDPitch_-20_
set suf=jpg
set /a n=1
for %%a in (*.%suf%) do call :renstart "%%a " %1
goto end ;;; 这里少了goto end,否则for运行结束后,下面命令又会执行一遍
:renstart
if %n% LSS 10 goto g1
if %n% LSS 100 goto g2
if %n% LSS 1000 goto g3
:g1
rename %1 %pre%00%n%.%suf%
goto end
:g2
rename %1 %pre%0%n%.%suf%
goto end
:g3
rename %1 %pre%%n%.%suf%
goto end
:end
set /a n=n+1