原帖由 随风 于 2008-6-15 13:28 发表
可能我没说清楚,要求是只要把文件按数序号重命名就可以了的,不用管文件名和原文件对不对的上号,所以5楼和18楼应该是可以的。
当然最理想的应该是不需要重命名的文件就不重命名。
比如
a.jpg
5.jpg
2.jpg
...
如果是这样的话,我也可以,而且还不会把已经存在的文件(序号小于16的文件)重命名:- @echo off
- for /f "delims=" %%i in (a.txt) do set /a m+=1
- for /f "delims=" %%i in (a.txt) do call :ren_ %%i
- goto :eof
- :ren_
- if %~n1 leq %m% goto :eof
- :again
- set /a n+=1
- if exist %n%.jpg goto :again
- ren %1 %n%.jpg
- goto :eof
复制代码用这个BAT生成JPG:复制内容到剪贴板代码:
@echo off
setlocal enabledelayedexpansion
set n=0
del /q *.jpg
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
echo !n!>%%i
)
pause这样每个JPG文件内容中都会有一个数字,是按照a.txt中文件名排列的序号。
然后执行重命名的BAT,就可以检查是否对号命名了(若是,改后文件名与该JPG里的数字相同)。
经逐一检查,5楼和18楼的都能严格按照a.txt中的文件名排序对号命名的。
我测试的结果却完全不相同,你真的检查过了吗????????????
[ 本帖最后由 more 于 2008-6-15 15:21 编辑 ] |