wangshuping42 当前离线
四级士官
@echo off&color 2f rem 这部分功能是搜索U盘中所有含mp3歌曲的文件夹,并保存在list.txt中 call :ad&echo.&echo.&echo. set /p pan=默认 U 盘盘符是 I,要修改则输入盘符,否则 直接回车: if not defined pan (set pan=I) if not exist %pan%: ( echo.&echo. echo 程序没有检测到U盘,请插入U盘再试&pause>nul&cls&%0 ) echo %pan%:>list.txt ( for /f "usebackq delims=" %%l in (`dir /ad-s/b/n/s %pan%:`) do ( set "dp=%%l" call :if ) ) 2>nul echo.&echo.&echo. rem 这部分主要是在D、E、F、G盘中找到歌词所在路径,由于可能不止一个文件夹里存在歌词,所以提供了手工输入方式 :find set /p dd=请输入歌词所在路径,或者 直接回车 由程序自动搜索路径: if not defined dd ( for %%s in (D E F G) do ( for /f "usebackq delims=" %%l in (`dir /b/n/s %%s:\*.lrc`) do ( set "lj=%%l" call :lr ) ) ) 2>nul if not exist %dd%\*.lrc (goto none) rem 这部分的功能是根据list.txt中的路径逐个给该路径下的mp3歌词 :start set n=0&set num=0&set ex=0 ( for /f "usebackq delims=" %%m in (`type list.txt`) do ( for /l %%i in (1 1 1550) do (echo %%i>nul) set "loc=%%m" for /f "usebackq delims=" %%i in (`dir /b /n "%%m\*.mp3"`) do ( cls&call :ad echo.&echo.&echo 程序当前工作路径:%%m echo.&echo.&echo.&echo 程序正在匹配文件:%%i set "str=%%i" call :copy ) ) ) 2>nul del list.txt 2>nul set /a no=num-ex-n cls&call :ad echo.&echo. echo 程序共找到 %num% 首 mp3,其中 %ex% 首原来已经有歌词 echo.&echo.&echo. echo 另外 %no% 首没有找到歌词,程序一共匹配了 %n% 首歌词 pause>nul exit rem 这里是匹配歌词的实际操作代码,针对mp3的各种命名方式做了些处理 :copy set /a num=num+1 set lrc=%str:~0,-4% for /f "tokens=1,2 delims=- " %%n in ("%lrc%") do ( set "name=%%n"&set "sy=%%o" ) if exist "%loc%\%lrc%.lrc" (set /a ex=ex+1&goto :eof) (copy "%dd%\*%lrc%.lrc" "%loc%\%lrc%.lrc") >nul if exist "%loc%\%lrc%.lrc" set /a n=n+1&goto :eof (copy "%dd%\%name% - %sy%.lrc" "%loc%\%lrc%.lrc") >nul if exist "%loc%\%lrc%.lrc" set /a n=n+1&goto :eof (copy "%dd%\%sy% - %name%.lrc" "%loc%\%lrc%.lrc") >nul if exist "%loc%\%lrc%.lrc" set /a n=n+1&goto :eof goto :eof rem 以下是一些标签,被上面的各部分代码调用 :if if exist "%dp%\*.mp3" (echo "%dp%">>list.txt) goto :eof :lr for /f %%x in ("%lj%") do ( set "dd=%%~dpx" goto start ) goto :eof :ad echo ************************************************* echo * ************************************** * echo * * * * echo * * 歌词匹配工具 * * echo * * * * echo * * 自动给 U 盘中的 mp3 匹配 lrc 歌词 * * echo * * * * echo * ************************************** * echo ************************************************* goto :eof :none echo.&echo.&echo.&echo 程序在本机或指定路径中没有找到 lrc 歌词,按任意键退出!&pause>nul&del list.txt 复制代码
ww0000 当前离线
三级士官
TOP
基拉freedom 当前离线
上尉
Seter (.De Le Te.)当前离线
技术组成员