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


这个很简单

ren sam_*.jpg " *.jpg"


Windows XP sp3 测试通过<img src="images/smilies/face-wink.png" align="absmiddle" border="0">

作者: freeants001     时间: 2010-8-4 08:40
发现楼上的还是没有通过<img src="images/smilies/face-sad.png" align="absmiddle" border="0">,竟然创建了文件名首部带半角空格的文件。

作者: 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
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 ]