回复 10# 001011
仔细看了看,原来如此。顶楼表达有问题,这样就不会使人误会了:
原文件名 命名后
0001 00004
0002 00001
0003 00002
0004 00003
0005 00008
0006 00005
....
重命名后,前面多加一个0,防止命名过程中出现重名文件,我想应当不会有大碍。
代码中使用了伪循环(第2个for),作用是去掉原文件名中的位于最前面的若干0,便于后面的计算:- @echo off
- set /a #1=3,#2=#3=#0=-1
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /s /a-d *.jpg') do (
- for /f "tokens=* delims=0" %%j in ("%%~ni") do (
- set /a n=%%j%%4
- set /a m=%%j+#!n!
- set m=0000!m!
- ren "%%i" "!m:~-5!%%~xi"
- )
- )
- pause
复制代码
|