找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25097|回复: 3

[文件操作] 【已解决】求助BAT脚本批量将文件名中歌曲名和歌手互换位置

[复制链接]
发表于 2024-4-12 16:51:38 | 显示全部楼层 |阅读模式
本帖最后由 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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-4-12 17:14:40 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /a-d *.mp3 *.lrc "*. lrc"') do (
  4.         call :1 "%%~ni" "%%~xi"
  5. )
  6. pause & exit

  7.         :1
  8.         set str=%~1
  9.         setlocal enabledelayedexpansion
  10.         for /l %%l in (1,1,5) do (
  11.                 set "str=!str: -=-!"
  12.                 set "str=!str:- =-!"
  13.         )
  14.         endlocal & set str=%str%
  15.         for /f "tokens=1-2 delims=-" %%a in ("%str%") do (
  16.                 ren "%~1%~2" "%%b - %%a%~2"
  17.                 echo ren "%~1%~2" "%%b - %%a%~2"
  18.         )
  19.         exit /b
复制代码

评分

参与人数 2技术 +2 收起 理由
whink + 1 技术强。乐于助人
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-4-12 18:27:06 | 显示全部楼层
完美解决。谢谢777
发表于 2024-4-12 23:34:44 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b /a-d *.mp3 *.lrc') do (
  3.      set "ext=%%~xi"
  4.      set "filename=%%~ni"
  5.      for /f "tokens=*" %%i in ("!filename:*-=!") do  set "name=%%~nxi"
  6.      for /f "delims=-" %%j in ("!filename!") do (
  7.           echo ren "%%i" "!name! - %%~xnj!ext!"
  8.      )
  9. )
  10. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
whink + 1 厉害了,谢谢
77七 + 1 学习了!去首尾空格

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 03:27 , Processed in 0.009238 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表