[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set num=0
  3. for /f "delims=" %%a in ('dir /a:-d /b *.jpg') do (
  4.     set fn="%%a"
  5.     set /a num += 1
  6.     SetLocal EnableDelayedExpansion
  7.     ren !fn! img!num!.jpg
  8.     EndLocal
  9. )
  10. echo 成功!
  11. pause
复制代码

TOP

重命名不能用 for %%a in (*.jpg) ...,这个命令会使一些文件被重复命名。

错误代码:
  1. @echo off
  2. set num=0
  3. for %%a in (*.jpg) do (
  4.     set fn="%%a"
  5.     set /a num += 1
  6.     SetLocal EnableDelayedExpansion
  7.     echo %%a → img!num!.jpg
  8.     ren !fn! img!num!.jpg
  9.     EndLocal
  10. )
  11. echo 成功!
  12. pause
复制代码


用以上代码测试两张图片 "1.jpg" 和 "1 2.jpg",会发现重命名过程是:
1.jpg → img1.jpg
1 2.jpg → img2.jpg
img2.jpg → img3.jpg

[ 本帖最后由 ___ 于 2010-4-26 09:48 编辑 ]

TOP

回复 9楼 的帖子

就是 7 楼说的,不能用 for %%a。

TOP

返回列表