标题: [文件操作] 【已解决】求助BAT脚本批量将文件名中歌曲名和歌手互换位置 [打印本页]
作者: whink 时间: 2024-4-12 16:51 标题: 【已解决】求助BAT脚本批量将文件名中歌曲名和歌手互换位置
本帖最后由 whink 于 2024-4-12 18:27 编辑
例如:批量将下面的文件命名为这样:孙燕姿 - 绿光.mp3
Dream It Possible - Delacey. lrc
Dream It Possible - Delacey.mp3
Dream It Possible -张靓颖. lrc
Dream It Possible-张靓颖.mp3
绿光-孙燕姿. lrc
绿光-孙燕姿.mp3
偷心-张学友. lrc
偷心-张学友.mp3
我怕来者不是你- 小蓝背心. lrc
我怕来者不是你-小蓝背心.mp3
诛仙恋-任贤齐. lrc
诛仙恋-任贤齐.mp3
作者: 77七 时间: 2024-4-12 17:14
- @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /a-d *.mp3 *.lrc "*. lrc"') do (
- call :1 "%%~ni" "%%~xi"
- )
- pause & exit
-
- :1
- set str=%~1
- setlocal enabledelayedexpansion
- for /l %%l in (1,1,5) do (
- set "str=!str: -=-!"
- set "str=!str:- =-!"
- )
- endlocal & set str=%str%
- for /f "tokens=1-2 delims=-" %%a in ("%str%") do (
- ren "%~1%~2" "%%b - %%a%~2"
- echo ren "%~1%~2" "%%b - %%a%~2"
- )
- exit /b
复制代码
作者: whink 时间: 2024-4-12 18:27
完美解决。谢谢777
作者: terse 时间: 2024-4-12 23:34
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *.mp3 *.lrc') do (
- set "ext=%%~xi"
- set "filename=%%~ni"
- for /f "tokens=*" %%i in ("!filename:*-=!") do set "name=%%~nxi"
- for /f "delims=-" %%j in ("!filename!") do (
- echo ren "%%i" "!name! - %%~xnj!ext!"
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |