[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 请解释一下批量重命名图片文件的批处理?

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 编辑 ]

%200=%2+00 %20=%2+0
至于%1 %2是怎么回事,在论坛搜索下call教程吧
***共同提高***

TOP

恩,多谢了,我到论坛看看!

恩,多谢了,我到论坛看看!

TOP

写这代码的人也太没有效率观念了吧。每重命名一次都要for/l循环999次,如果是大批量重命名,这效率真不敢想。再者,文件名或是路径中含有变量的话最好用半角双引号""括起来,以免变量值中含有空格而找不到文件或路径。
  1. setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir/b *.jpg') do (
  3.     set/a n+=1
  4.     set "m=00!n!"
  5.     set "m=!m:~-3!"
  6.     ren "%%i" "%~1!m!.jpg"
  7. )
复制代码

这是根据楼主的代码写的,只是不知道楼主代的第一个%1是怎样传递给批处理的,所以没测试。应该是没问题的。

[ 本帖最后由 zljzsmzzx 于 2009-11-10 12:35 编辑 ]

TOP

回复 2楼 的帖子

batman 为什么不关闭此帖?标题明显不符合版规要求。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表