中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 怎样批量改文件名 上一主题 | 下一主题
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『楼 主』:  怎样批量改文件名

我用数码相机拍了相片,相片名全是SAM_00**.JPG,怎样建一个批处理把所有的相片名中的SAM_去掉, 变成00**.JPG

2010-8-3 22:07
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 2 楼』:  

都睡觉了吗

2010-8-3 22:34
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
lovelymorning
初级用户





积分 131
发帖 72
注册 2008-2-24
状态 离线
『第 3 楼』:  


@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
ren %%i !%%i:SAM_=!
)
pause
试试看,不包能用。。。

2010-8-3 23:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 4 楼』:  

不能用啊,执行后生成了一个SAM_的文件,批处理窗口显示"存在一个重名文件,或是找不到文件"

2010-8-4 00:11
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 5 楼』:  


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


2010-8-4 00:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 6 楼』:  

OK了.
set "str=%%i"
ren "%%i" "!str:SAM_=!"
)
这段代码可以详细的解释一下吗,学批处理一段时间了,主要是FOR 和SET搞不明白

2010-8-4 07:45
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 7 楼』:  



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

这个很简单
ren sam_*.jpg "    *.jpg"
Windows XP sp3 测试通过

2010-8-4 08:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 8 楼』:  

发现楼上的还是没有通过,竟然创建了文件名首部带半角空格的文件。

2010-8-4 08:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 9 楼』:  

无视此楼!

[ Last edited by WANKOILZ on 2010-8-4 at 09:32 ]

2010-8-4 09:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 10 楼』:  

ren sam_*.jpg "    *.jpg"
Windows XP sp3 测试通过
---------可是文件名多了四个空格

2010-8-4 17:59
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 11 楼』:  



  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 ]

2010-8-4 20:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 12 楼』:  

谢谢你的XREN,很不错的软件

2010-8-5 06:55
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
chinesechrist
新手上路





积分 5
发帖 7
注册 2010-7-31
状态 离线
『第 13 楼』:  

具体的用法规则还是不懂,用xren /?也没有帮助信息,

2010-8-5 07:02
查看资料  发送邮件  发短消息 网志  OICQ (270026246)  编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 14 楼』:  

这个用法很简单,就不写帮助了,只是利用JScript正则,下面再举个子匹配的例子。

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

2010-8-5 08:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: