Board logo

标题: 怎样批量改文件名 [打印本页]

作者: chinesechrist     时间: 2010-8-3 22:07    标题: 怎样批量改文件名

我用数码相机拍了相片,相片名全是SAM_00**.JPG,怎样建一个批处理把所有的相片名中的SAM_去掉, 变成00**.JPG
作者: chinesechrist     时间: 2010-8-3 22:34
都睡觉了吗
作者: lovelymorning     时间: 2010-8-3 23:42

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
ren %%i !%%i:SAM_=!
)
pause
试试看,不包能用。。。
作者: chinesechrist     时间: 2010-8-4 00:11
不能用啊,执行后生成了一个SAM_的文件,批处理窗口显示"存在一个重名文件,或是找不到文件"
作者: WANKOILZ     时间: 2010-8-4 00:35

@echo off&setlocal EnableDelayedExpansion
for %%i in (*.jpg) do (
set "str=%%i"
ren "%%i" "!str:SAM_=!"
)

作者: chinesechrist     时间: 2010-8-4 07:45
OK了.
set "str=%%i"
ren "%%i" "!str:SAM_=!"
)
这段代码可以详细的解释一下吗,学批处理一段时间了,主要是FOR 和SET搞不明白
作者: freeants001     时间: 2010-8-4 08:31


  Quote:
Originally posted by chinesechrist at 2010-8-3 22:07:
我用数码相机拍了相片,相片名全是SAM_00**.JPG,怎样建一个批处理把所有的相片名中的SAM_去掉, 变成00**.JPG

这个很简单
ren sam_*.jpg "    *.jpg"
Windows XP sp3 测试通过
作者: freeants001     时间: 2010-8-4 08:40
发现楼上的还是没有通过,竟然创建了文件名首部带半角空格的文件。
作者: WANKOILZ     时间: 2010-8-4 09:19
无视此楼!

[ Last edited by WANKOILZ on 2010-8-4 at 09:32 ]
作者: chinesechrist     时间: 2010-8-4 17:59
ren sam_*.jpg "    *.jpg"
Windows XP sp3 测试通过
---------可是文件名多了四个空格
作者: freeants001     时间: 2010-8-4 20:40


  Quote:
Originally posted by chinesechrist at 2010-8-4 17:59:
ren sam_*.jpg "    *.jpg"
Windows XP sp3 测试通过
---------可是文件名多了四个空格

嗯,是的,8楼已指明了。有感于此贴,写了个重命名文件的小工具。暂命名为xren.exe,利用Jscript正则

   用法: 
      xren   文件类型   匹配文件名的正则  替换后的文件名

例如: 
1. 把当前目录下的所有jpg文件,文件名中的所有半角空格替换为_
xren    jpg    "/ /gi"   "_"
2.在当前目录的所有TXT文件的文件名前加上www.cn-dos.net_
xren    txt   "/^/"  www.cn-dos.net_
3.去掉所有形如 Story_www.example.com.txt 类文件名中的网址
xren   txt   "/_www\.example\.com\.txt$/"    ".txt"
。。。。。

暂举这么多,顺便说下xren   jpg   "/^SAM_/" 可以解决楼主的问题;)

[ Last edited by freeants001 on 2010-8-4 at 21:56 ]
作者: chinesechrist     时间: 2010-8-5 06:55
谢谢你的XREN,很不错的软件
作者: chinesechrist     时间: 2010-8-5 07:02
具体的用法规则还是不懂,用xren /?也没有帮助信息,
作者: freeants001     时间: 2010-8-5 08:37
这个用法很简单,就不写帮助了,只是利用JScript正则,下面再举个子匹配的例子。

例如网上下了一些歌曲名- 歌手.mp3的mp3文件,而这些歌曲的内部标签很乱或根本没有,想把这些歌曲改名为 歌手 - 歌曲名.mp3的形试,可以
xren mp3 "/(.*) - (.*)\.mp3/i" "$2 - $1.mp3"
[ Last edited by freeants001 on 2010-8-5 at 08:40 ]