标题: [文件操作] 请解释一下批量重命名图片文件的批处理? [打印本页]
作者: shenlong2006 时间: 2009-11-9 18:15 标题: 请解释一下批量重命名图片文件的批处理?
for %%a in (*.jpg) do call :renstart "%%a" %1
:renstart
for /L %%b in (1,1,9) do rename %1 %200%%b.jpg
for /L %%b in (10,1,99) do rename %1 %20%%b.jpg
for /L %%b in (100,1,999) do rename %1 %2%%b.jpg
看得不是太明白,想请教一下各位高人,尤其是其中的"%200","%20"和"%2"不知道是什么意思.
[ 本帖最后由 shenlong2006 于 2009-11-9 18:19 编辑 ]
作者: batman 时间: 2009-11-9 18:20
%200=%2+00 %20=%2+0
至于%1 %2是怎么回事,在论坛搜索下call教程吧
作者: shenlong2006 时间: 2009-11-9 18:24 标题: 恩,多谢了,我到论坛看看!
恩,多谢了,我到论坛看看!
作者: zljzsmzzx 时间: 2009-11-10 10:06
写这代码的人也太没有效率观念了吧。每重命名一次都要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 编辑 ]
作者: zqz0012005 时间: 2009-11-10 12:23 标题: 回复 2楼 的帖子
batman 为什么不关闭此帖?标题明显不符合版规要求。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |