中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [已结]批量修改歌曲名 上一主题 | 下一主题
jycel
初级用户




积分 75
发帖 46
注册 2007-9-25
状态 离线
『楼 主』:  [已结]批量修改歌曲名

用dir d:\music\*.*>列表1.txt /b后

列表1.txt格式如下

林俊杰-决战时刻
梁静茹-幸福的预感
邓丽君-爱在心怀
邓丽君-有我就有你
邓丽君-台北姑娘
林俊杰-ENCORE
…………
假如换成如下格式:

列表2.txt

林俊杰 - 决战时刻
梁静茹 - 幸福的预感(LIVE全记录版)
邓丽君 - 爱在心怀
邓丽君 - 有我就有你
邓丽君 - 台北姑娘
林俊杰 - ENCORE
邓丽君 - 总是笑一笑

也就是把"-"换成了" - "
在列表中当然容易直接替换掉,然后用改好的列表(列表2.txt)来修改歌库中相对应歌曲1列表中的名字!一个一个修改太麻烦,请教下批量修改如何做到!

[ Last edited by jycel on 2009-2-27 at 07:53 ]



努力学习!我行的!
2009-2-25 19:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 2 楼』:  


@echo off
for /f "tokens=1,* delims=-" %%中 in ('dir /b d:\music') do (
  ren "%%中-%%丮" "%%中 - %%丮"
)
[ Last edited by tireless on 2009-2-25 at 21:27 ]

   此帖被 +2 点积分      点击查看详情   
评分人:【 netbenton 分数: +2  时间:2009-2-25 22:33


2009-2-25 20:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by jycel at 2009-2-25 07:06 PM:
一个一个修改太麻烦 ...

记事本不是有替换功能吗?



2009-2-25 20:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jycel
初级用户




积分 75
发帖 46
注册 2007-9-25
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by radem at 2009-2-25 08:38 PM:

记事本不是有替换功能吗?

记事本是有替换功能,我的意思要实现的是批量去更改音乐库中的音乐名字
歌手1-歌曲1 换成  歌手1 - 歌曲1
歌手2-歌曲2 换成  歌手2 - 歌曲2
歌手3-歌曲3 换成  歌手3 - 歌曲3
而且大家可以试下,如果在记事本中有大量字符,替换还没批处理来得快!



努力学习!我行的!
2009-2-25 21:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jycel
初级用户




积分 75
发帖 46
注册 2007-9-25
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by tireless at 2009-2-25 08:18 PM:
@echo off
for /f "tokens=1,* delims=-" %%中 in ('dir /b d:\music') do (
  ren "%%中-%%丮" "%%中 - %%丮"
)
[ Last edited by tireless on 2009-2- ...

请问
"%%中为歌库中的所有原文件名
-%%丮呢?
你的意思是先dir列表出来,然后把每行分成二个字符,然后再来改么?



努力学习!我行的!
2009-2-25 21:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 6 楼』:  Re 5楼

直接运行2楼代码即可。
--------------------------------
林俊杰-决战时刻 ← 分成红蓝两部分。

2009-2-25 21:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jycel
初级用户




积分 75
发帖 46
注册 2007-9-25
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by tireless at 2009-2-25 09:34 PM:
直接运行2楼代码即可。
--------------------------------
林俊杰-决战时刻 ← 分成红蓝两部分。

无任何反应啊!



努力学习!我行的!
2009-2-25 21:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 8 楼』:  

疏忽了一个地方。改成这样:
@echo off
for /f "tokens=1,* delims=-" %%中 in ('dir /b d:\music') do (
  ren "d:\music\%%中-%%丮" "%%中 - %%丮"
)
[ Last edited by tireless on 2009-2-25 at 21:45 ]

2009-2-25 21:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jycel
初级用户




积分 75
发帖 46
注册 2007-9-25
状态 离线
『第 9 楼』:  

成功了。太感谢了!
关于这“%%中-%%丮”还不理解,呵呵!还请指点下



努力学习!我行的!
2009-2-25 21:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 10 楼』:  

“%%中-%%丮”“%%a-%%b” ... 一样,只不过是中文。其中的 a b中 丮  是按 ASCII编码 排列的,那两个中文的ASCII编码也是紧接着的。(用 ASCII码随心换 这个软件转的)

[ Last edited by tireless on 2009-2-25 at 21:55 ]

   此帖被 +1 点积分    点击查看详情   
评分人:【 alex9527 分数: +1  时间:2009-2-26 10:20


2009-2-25 21:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 11 楼』:  

学习了,我原以为for令牌只以用字母及数字呢。
高呀!



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-25 22:35
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 12 楼』:  

tireess兄也喜欢搞点另类啊...



C:\
C:\Del BC
2009-2-25 22:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: