| @echo off |
| setlocal ENABLEDELAYEDEXPANSION |
| color 2b |
| |
| :main %1 |
| if "%1" == "" echo 歌词不存在! & goto :暂停 |
| for /f "tokens=1,2 delims=:[]" %%a in ('findstr "ti:" %1') do set _ti=%%b |
| title=%_ti% |
| for /f "tokens=1,2 delims=[]" %%a in ('findstr "[0-9][0-9]:[0-5][0-9]." %1') do set "#%%a=%%b" |
| set 初始时间=%time% |
| set /a 初始分=%初始时间:~3,2% |
| set /a 初始秒=%初始时间:~6,2% |
| |
| :loop |
| set 临时时间=%time% |
| call :临时时间 %临时时间:~3,2% %临时时间:~6,2% %临时时间:~9,2% |
| at |findstr "@" >nul && call :cmdd |
| at |findstr "$" >nul && call :contrl |
| for /f "tokens=1,2 delims==" %%a in ('set # ^|findstr "%ktime%"') do call :显示歌词 %%b |
| goto :loop |
| goto :eof |
| |
| |
| :临时时间 |
| set varm=%1 & set vars=%2 & set varms=%3 |
| if %varm% LSS %初始分% (set /a varm=varm+60) 2>nul |
| if %vars% LSS %初始秒% (set /a varm=varm-1 & set /a vars=vars+60) 2>nul |
| set /a 临时分=varm-初始分 2>nul |
| set /a 临时秒=vars-初始秒 2>nul |
| IF %临时分% LEQ 9 set 临时分=0%临时分% |
| IF %临时秒% LEQ 9 set 临时秒=0%临时秒% |
| set ktime=%临时分%:%临时秒% |
| goto :eof |
| |
| :显示歌词 |
| if NOT "%*" == "" cls |
| echo.%* |
| goto :eof |
| |
| :cmdd 插入命令行语句 |
| for /f "tokens=1* delims=@" %%a in ('at ^|findstr "[0-9]"') do at /del /y & %%b |
| goto :eof |
| |
| :contrl 控制歌词,比如暂停,停止,下一首等。 |
| for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do ( |
| at /del /y |
| echo %%b | findstr /i "pause" && goto :暂停 |
| echo %%b | findstr /i "next" && call :main %%c |
| echo %%b | findstr /i "stop" && call :stop |
| echo %%b | findstr /i "goto" && call :gt %%c |
| ) |
| goto :eof |
| |
| :暂停 |
| title=%_ti% -- 暂停 |
| for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do ( |
| at /del /y |
| echo %%b | findstr /i "pause" && call :暂停 |
| echo %%b | findstr /i "next" && call :main %%c |
| echo %%b | findstr /i "stop" && call :stop |
| echo %%b | findstr /i "goto" && call :gt %%c |
| echo %%b | findstr /i "start" && goto :loop |
| ) |
| goto :暂停 |
| |
| :stop |
| title=%_ti% -- 停止 |
| for /f "tokens=2,3 delims=$" %%a in ('at ^|findstr "[0-9]"') do ( |
| at /del /y |
| echo %%b | findstr /i "pause" && call :暂停 |
| echo %%b | findstr /i "next" && call :main %%c |
| echo %%b | findstr /i "stop" && goto :stop |
| echo %%b | findstr /i "goto" && call :gt %%c |
| echo %%b | findstr /i "start" && call :main %%c |
| ) |
| goto :stop |
| |
| |
| :gt mm:ss 参数为歌曲播放时间 |
| set ktime=%* |
| goto :eofCOPY |