@echo off
setlocal enabledelayedexpansion
set pd="C:\Users\shanghai\Desktop\新建文件夹"
set key=*.tif *.jpg
set count=0
pushd %pd%
for /f "delims=" %%a in ('dir /a-d/b/s %key%') do (
set /a count+=1
call :format !count! 5 0
echo [%%~nxa]^>^>[!strtmp!%%~xa ] [!count!]
ren "%%~a" !strtmp!%%~xa
)
pause&exit
::格式化序列 %1 = end ,%2 = end , %3=fill, ret = strtmp
:format
set _p=
set _num_1=%~1
set _num_2_len=%2
call :numlen !_num_1!
set _num_1_len=!numlen!
set /a _num_len=!_num_2_len!-!_num_1_len!
for /l %%a in (1,1,!_num_len!) do set _p=%3!_p!
set strtmp=!_p!%~1
goto :eof
::计算长度 pat=str,ret=numlen
:numlen
if %1 lss 10 set numlen=1&&goto :eof
if %1 lss 100 set numlen=2&&goto :eof
if %1 lss 1000 set numlen=3&&goto :eof
if %1 lss 10000 set numlen=4&&goto :eof
if %1 lss 100000 set numlen=5&&goto :eof
if %1 lss 1000000 set numlen=6&&goto :eof
set numlen=9
goto :eof
以前写别的代码改的,将就用吧。
追问能不能简单点
本回答被提问者和网友采纳