写这代码的人也太没有效率观念了吧。每重命名一次都要for/l循环999次,如果是大批量重命名,这效率真不敢想。再者,文件名或是路径中含有变量的话最好用半角双引号""括起来,以免变量值中含有空格而找不到文件或路径。
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir/b *.jpg') do (
- set/a n+=1
- set "m=00!n!"
- set "m=!m:~-3!"
- ren "%%i" "%~1!m!.jpg"
- )
复制代码
这是根据楼主的代码写的,只是不知道楼主代的第一个%1是怎样传递给批处理的,所以没测试。应该是没问题的。
[ 本帖最后由 zljzsmzzx 于 2009-11-10 12:35 编辑 ] |