标题: [文件操作] 批处理如何将文件名中以指定字符分隔的两部分字符串调换位置 [打印本页]
作者: crist 时间: 2012-10-19 16:49 标题: 批处理如何将文件名中以指定字符分隔的两部分字符串调换位置
本帖最后由 pcl_test 于 2016-10-30 22:03 编辑
举例:
有一个文件夹,里面有很多mp3文件,这些mp3都是“歌曲名-歌手名.mp3”这种格式的文件名。请问要如何用批处理一次过将它们改名为“歌手名 - 歌曲名.mp3”呢?
作者: forfiles 时间: 2012-10-19 20:02
- @echo off
- for /f "tokens=1-3 delims=-." %%a in ('dir /b *.mp3') do (
- ren "%%a-%%b.%%c" "%%b-%%a.%%c"
- )
复制代码
作者: apang 时间: 2012-10-19 20:04
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b *.mp3') do (
- for /f "tokens=1* delims=-" %%b in ("%%~na") do (
- if "%%c" neq "" ren "%%a" "%%c-%%b.mp3"
- )
- )
- pause
复制代码
作者: jiashadidai_110 时间: 2012-10-19 20:17
- option explicit
- dim fso,a,b,file
- set fso=createobject("scripting.filesystemobject")
- set a=fso.getfolder("music").files
- for each file in a
- b=split(replace(file.name,".","-"),"-")
- file.name=b(1)&"-"&b(0)&"."&b(2)
- next
- set fso=nothing
复制代码
把代码保存成vbs格式,并放在和你的文件夹同一目录下,把第4行引号内的music改成你的文件夹名
作者: crist 时间: 2012-10-23 15:53
回复 3# apang
测试可用,谢谢!
突然又想到了新的问题:
1、能否由运行批处理的人设置后缀名及分隔符?
2、如果分隔符前后有空格(例如a - b.mp3重命名为b - a.mp3)如何处理?
作者: wc726842270 时间: 2012-10-24 05:59
回复 5# crist
首先说明,你的问题应该是没有问题的
不过还请另开一贴,把问题级想法说清,这个VBS和P都应该没有问题(个人想法)
作者: guzm002 时间: 2021-3-29 21:33
为啥都只改了4个文件就停下来了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |