Board logo

标题: [文件管理] 批处理实现照片名批量重命名排序 [打印本页]

作者: saber    时间: 2009-3-7 20:13     标题: 批处理实现照片名批量重命名排序

最近整理图片收藏夹,发现照片名都是毫无规律的。于是决心把它们重命名排序,以方便以后查找。但工作量太大了,数百张照片何时能够改完?
于是写了个批处理.只几句就解决问题了。。。尽管简单但还是很实用的,给大家分享下...........
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set a=0
  4. for %%i in (*.jpg) do (set /a a+=1 && ren %%i !a!.jpg)
  5. echo 共排序了%a%张JPG图片
  6. pause>nul
复制代码

作者: Batcher    时间: 2009-3-7 20:24

加上双引号比较好吧,以防文件名中有空格。
作者: saber    时间: 2009-3-7 20:32

我刚学批处理。有很多都不懂,很感谢上楼的指教..
作者: Batcher    时间: 2009-3-7 20:35     标题: 回复 3楼 的帖子

没有关系,这些细节的东西可以在今后的学习中慢慢积累,毕竟罗马不是一天建成的:)
作者: yslyxqysl    时间: 2009-3-7 20:40

可以用
for /f "delims=" %%i in ('dir *.jpg /s') do set /a a+=1 & ren "%%i" "!a!.jpg"
整理子目录下的图片。
作者: saber    时间: 2009-3-7 21:21

我正想研究下如何把功能扩展到子目录...五楼就弄出来了 太感谢你了

在这果然学到很多知识
作者: Batcher    时间: 2009-3-7 23:43     标题: 回复 6楼 的帖子

遍历目录除了使用for+dir /s,还可以使用for /r,你可以留意一下别人的代码:)
作者: irresolute    时间: 2009-3-8 13:47

  1. for /f "delims=" %%i in ('dir *.jpg /s') do set /a a+=1 & ren "%%i" "!a!.jpg"
复制代码
五楼的这句话中是不是少了个参数,是不是应该改成如下:
  1. for /f "delims=" %%i in ('dir *.jpg /s/b') do set /a a+=1 & ren "%%i" "!a!.jpg"
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2