可以是中文歌曲,也可以是英文歌曲。如果你想统一歌曲文件名,歌手都放前面或是都放后面。可能要进行如下操作,可是如果手工来改的话,要前面复制一下后面再复制一下,会很麻烦。
问题来了,拖一个文件到批处理图标上,自动对调歌手与歌曲名。
其中歌名可以由汉字、英语、数字组成,英文歌曲会有空格,但不含特殊符号;
歌手也可以是组合、艺名,也不含特殊符号;
中间用 “ - ” 连接,即(空格)-(空格)。
- 老狼 - 同桌的你.mp3 ——> 同桌的你 - 老狼.mp3
- Mirror Mirror - M2M.mp3 ——> M2M - Mirror Mirror.mp3
目的:学习参数的使用,可能用到 for,或是变量替换。
要求:歌曲与歌手对调,本题基本要求是能处理一个文件,当然你想多个一起交换也不反对;不考虑特殊字符。方法不限。
方法1
-
@echo off & setlocal EnableDelayedExpansion for %%A in (%*) do ( for /f "tokens=1,* delims=-" %%a in ("%%~nA") do ( set "L=%%a" & set "R=%%b" ren %%A "!R:~1! - !L:~,-1!.mp3" ) )
方法2
@echo off & setlocal EnableDelayedExpansion for %%A in (%*) do ( set str=%%~nA for /f "delims=\ tokens=1,2" %%a in ("!str: - =\!") do ( ren %%A "%%b - %%a.mp3" ) )