@echo off&setlocal enabledelayedexpansion
for /l %%i in (200,-1,1) do (
if %%i lss 100 (
set flag=00%%i
set flag=!flag:~-2!
set /a add=%%i+1
set add=00!add!
set add=!add:~-2!
if exist !flag!.jpg ren !flag!.jpg !add!.jpg
) else (
set flag=000%%i
set flag=!flag:~-3!
set /a add=%%i+1
set add=000!add!
set add=!add:~-3!
if exist !flag!.jpg ren !flag!.jpg !add!.jpg
)
)
exit
----------------
兄弟,问题不是这么问的,你给出两位数,我们自然认为只有两位数。 另外,文件名具体是怎么分布的?个位数,百位数,千位数,万位数具体是怎么样的?
不同的情况,代码也就不同。
凑个热闹
@echo off& setlocal enabledelayedexpansion
(for %%1 in (*.jpg)do (set /a wind=100000%%~n1+1&& ren "%%~1" !wind:~-6!.smile))& ren *.smile *.txt