华丽界面,超强功能,为批处理量身打造!~
@echo off&setlocal enabledelayedexpansion
title BatMPlayer V6.6 歌词版
::by cjiabing;from http://hi.baidu.com/cjiabing
::date:2010.10.10;cmd@xp
COLOR 2E
set input=%*
if not exist %SYSTEMROOT%/sleep.exe set "var_sleep=%~0"
call :beforehand_default
:beforehand_drag
rem 拖拉输入
if not exist !mpp! (call :beforehand_findmplayer) else (
if defined input (
if exist "%~dp0_playlists.txt" del "%~dp0_playlists.txt"
for /f "tokens=*" %%a in ("!input!") do (
for %%i in (%%a) do (
if exist %%i set input=%%~i
if /i "!input:~-4,4!"==".txt" (
type "!input!">>"%~dp0_playlists.txt"
goto play_txt
)
if exist "!input!/." dir /a:d "!input!"&&set input=!input!&&goto inport_folder
echo !input!>>"%~dp0_playlists.txt"
)
)
goto play_txt
)
)
:start
rem 主界面
set "a=a"
call :main_face
call :backgroundmusic
:main
title BatMPlayer V6.6 歌词版
set input=
set "a=b"
call :main_face
call :input
:main_face
cls
echo;
if /i "%a%"=="a" (
call :colour "27" "∷∷∷∷I'M LOOKING OUT,I'M LOOKING IN. WAY DOWN,THE LIGHTS ARE DIMMER∷∷∷∷"
) else (
call :colour "27" "∷∷∷∷批处理,她就像中国围棋,小棋盘大世界,虽然简单但同样能带给你精彩∷∷∷∷"
)
call :colour "27" "∷∷∷∷"&call :colour "2f" " 设置【S】搜索【F】帮助【H】热键【HK】退出【Q】CMD【C】BAT【B】"&call :colour "27" "∷∷∷∷"
echo;
echo;
echo;
call :colour "2b" " ◥██▃▁ _ _..-‐‐-."
echo;
call :colour "2b" " ...◥████▅▄▃▁▁▁▁▁▃▄▅▅▆▇▇▅▄▃▃▃▃▃▅▄▁"
echo;^
&call :colour "2b" " ≡¤███"&call :colour "0c" "━批处理版音★视频播放器━"&call :colour "2b" "██████████████▅▄▃▁▁"
echo;
call :colour "2b" " ≡¤███████████████████◤"
echo;
echo;
echo;
goto :eof
:input
rem 输入汇总
call :keyin
goto main
:keyin
set /p "input= %~pds0"
if /i !input!=="" goto start
if not defined input if exist "%~dp0_playlists.txt" (goto play_txt) else (goto start)
call :inport
call :input_sets
call :input_end
goto :eof
:inport
for /f "tokens=*" %%a in ("!input!") do set "input=%%~a"
if exist "!input!" (
if /I "!input:~-4,4!"==".txt" call :inport_txt
if /I "!input:~-5,4!"==".txt" call :inport_txt
if exist "!input!/" goto inport_folder
dir /a:d !input!||call :play_file&goto main
:inport_folder
if /i not "!input:~-1,1!"=="/" (set "input=!input!/") else (set "input=!input!")
cd.>"%~dp0_playlists.txt"
dir /a-d /b /s "!input!*.wma" "!input!*.mp3">>"%~dp0_playlists.txt"
goto play_txt
)
for %%a in (http rtsp vcd dvd) do if /i "!input:~0,4!"=="%%a" (
echo !input!>"%~dp0_playlists.txt"
type "%USERPROFILE%/My Documents/My Music/_urlplaylists.txt">>"%~dp0_playlists.txt"
del /q "%USERPROFILE%/My Documents/My Music/_urlplaylists.txt">nul
copy "%~dp0_playlists.txt" "%USERPROFILE%/My Documents/My Music/_urlplaylists.txt">nul 2>nul
echo !input!>"%~dp0_playlists.txt"
call :play_txt
)
goto :eof
:input_end
call :input_sets
echo;
CMD /C !input!&echo;&pause&cls
goto main
:input_sets
rem 全局快捷键
if /i "!input!"=="S" goto setting
if /i "!input!"=="F" goto search
if /i "!input!"=="C" call :cl&goto main
if /i "!input!"=="B" call :bc&goto main
if /i "!input!"=="H" goto help
if /i "!input!"=="P" goto way
IF /I "!input!"=="RS" goto play_general
IF /I "!input!"=="GC" goto play_general&goto main
IF /I "!input!"=="BP" goto play_general
if /i "!input!"=="HK" call :entry&goto main
if /i "!input!"=="OP" call :play_sets&goto main
if /i "!input!"=="BM" goto start
IF /I "!input!"=="CB" START "" IEXPLORE.EXE http://hi.baidu.com/cjiabing&GOTO MAIN
IF /I "!input!"=="BH" START "" IEXPLORE.EXE http://www.bathome.net&GOTO MAIN
IF /I "!input!"=="CD" START "" http://www.cn-dos.net/forum/index.php&GOTO MAIN
IF /I "!input!"=="MP" START "" IEXPLORE.EXE HTTP://WWW.MPLAYERHQ.HU&GOTO MAIN
if /i "!input:~0,2!"=="SD" call :tasks_shut&goto main
if /i "!input:~0,1!"=="W" for %%a in (!input!) do if /i "%%a"=="W" goto apache_program
if /i "!input:~0,1!"=="F" for /f "tokens=1,2,*" %%a in ("!input!") do if /i "%%a"=="f" (
set "input=%%b"
set "inport=%%c"
goto search_c)
if /i "!input!"=="QQ" taskkill /f /t /im mplayer.exe&goto main
if /i "!input!"=="Q" taskkill /f /t /im mplayer.exe&exit
:websearch
for /f "tokens=1,* delims= " %%i in ("!input!") do (
if /i "%%i"=="bd" start "" IEXPLORE.EXE "http://www.baidu.com/s?wd=%%j"&goto search
if /i "%%i"=="gg" start "" IEXPLORE.EXE "http://www.google.cn/music/search?q=%%j"&goto search
if /i "%%i"=="sg" start "" IEXPLORE.EXE "http://mp3.sogou.com/music.so?query=%%j"&goto search
if /i "%%i"=="kg" start "" IEXPLORE.EXE "http://www.kugou.com/ting/Search.aspx?keywords=%%j"&goto search
if /i "%%i"=="gou" start "" IEXPLORE.EXE "http://mp3.gougou.com/search?search=%%j"&goto search
if /i "%%i"=="ss" start "" IEXPLORE.EXE "http://cgi.music.soso.com/fcgi-bin/m.q?w=%%j"&goto search
)
goto :eof
:inport_txt
if exist "%~dp0_playlists.txt" (
if "!input!"==""%~dp0_playlists.txt"" (
goto play_txt
) else (
cd.>"%~dp0_playlists.txt"
type "!input!">>"%~dp0_playlists.txt"
goto play_txt
)
) else (
cd.>"%~dp0_playlists.txt"
type "!input!">>"%~dp0_playlists.txt"
goto play_txt
)
goto :eof
:apache_program
if exist %SYSTEMROOT%/BatMPlayer.ini (
for /f "tokens=1,* delims== " %%i in (%SYSTEMROOT%/BatMPlayer.ini) do (
for /f "tokens=*" %%x in ("!input:~1,20!") do if /i "%%x"=="%%i" if exist "%%~j" start "" "%%~j"&goto main
)
if /i "!input!"=="W" call :program_keyin&goto main
)
goto :eof
:tasks_shut
for /f "tokens=1,2,* delims= " %%i in ("!input!") do (
if /i "%%i"=="sd" (
if "%%j"=="" call :colour "0c" " 查询设置!"&echo;&cmd /c "at&exit /b"&echo;&pause&goto :eof
if /i "%%j"=="c" (
echo;
if not "%%k"=="" (
at %%k shutdown -a>nul 2>nul
call :colour "0c" " 已经取消自动关机!原计划关机时间为:"&echo,%%k
call :colour "0c" " 取消自动关机时间最好比原计划关机时间推迟1分钟:"&echo,
) else (
shutdown -a>nul 2>nul
call :colour "0c" " 已经取消当前正在进行中的自动关机!"&echo;
)
ping /n 3 127.0.1>nul&goto :eof
)
if /i "%%j"=="stop" sc stop schedule&ping /n 3 127.0.1>nul&goto :eof
if /i "%%j"=="start" (
sc start schedule
sc config schedule start= auto
ping /n 3 127.0.1>nul&goto :eof
)
if /i "%%j"=="at" call :colour "0c" " 查询设置!"&echo;&cmd /c "at&exit /b" &echo;&pause&goto :eof
echo;
at %%j shutdown -s -f -t 128>nul 2>nul&&call :colour "0c" " 设置完成,自动关机时间为:"&echo, %%j&ping /n 3 127.0.1>nul&goto :eof
)
if /i "%%i"=="at" call :colour "0c" " 查询设置!"&echo;&cmd /c "at&exit /b"&echo;&pause&goto :eof
)
ping /n 3 127.0.1>nul&goto :eof
:play
rem 播放程序
COLOR 2E
if not defined mpp goto beforehand_default
cls
echo;===========================================================================
call :colour "0c" "★★★正在播放!下一首【PageUp】快进【Up】静音【M】暂停【P】退出【Q】★★★"&echo;
echo;===========================================================================
goto :eof
:play_txt
call :play
!mpp! -playlist "%~dp0_playlists.txt"
goto main
:play_file
if /i "!input!"=="LRC" goto lyrics_face
if not exist %SYSTEMROOT%/sleep.exe call :lyrics_face
call :play
if exist "%temp%/$mplrcq$.txt" (del "%temp%/$mplrcq$.txt" /f /q /s>nul 2>nul)
if exist %SYSTEMROOT%/sleep.exe (
if /i "!input:~-4,4!"==".mp3" call :Lyrics&COLOR 2E&goto :eof
if /i "!input:~-4,4!"==".wma" call :Lyrics&COLOR 2E&goto :eof
if /i "!input:~-4,4!"==".wav" call :Lyrics&COLOR 2E&goto :eof
if exist "!input!" cls&call "!input!"
) else (goto main)
goto :eof
:play_general
if exist "%~dp0_playlists.txt" (
IF /I "!input!"=="gc" (
for /f "usebackq tokens=*" %%a in ("%~dp0_playlists.txt") do if exist "%%~a" (
set "input=%%~a"
call :play_file
call :play_gc
)
goto main
)
IF /I "!input!"=="bp" (
set "pp=-loop 0 -playlist"&set input="%~dp0_playlists.txt"&start /b /i "" !mpp! !pp! "%~dp0_playlists.txt">nul 2>nul
goto main
)
IF /I "!input!"=="r" set "pp=-loop 0 -playlist"&set input="%~dp0_playlists.txt"
IF /I "!input!"=="s" set "pp=-shuffle -playlist"&set input="%~dp0_playlists.txt"
IF /I "!input!"=="rs" set "pp=-shuffle -loop 0 -playlist"&set input="%~dp0_playlists.txt"
call :play
!mpp! !pp! "%~dp0_playlists.txt"
)
goto main
goto :eof
:play_gc
for /f "tokens=1" %%a in ('tasklist /fi "IMAGENAME eq MPLAYER.exe" /FO TABLE /NH') do if /i "%%a"=="mplayer.exe" (ping /n 2 127.0.1>nul&goto play_gc)
goto :eof
:beforehand_default
rem 默认播放器路径
if exist "%ProgramFiles%/StormII/codec/MPlayer.exe" (
set mpp="%ProgramFiles%/StormII/codec/MPlayer.exe"
if not exist %SYSTEMROOT%/BatMPlayer.ini echo mppt=!mpp!>>%SYSTEMROOT%/BatMPlayer.ini
) else (
if exist %SYSTEMROOT%/BatMPlayer.ini (goto beforehand_mplayerpath) else (call :beforehand_findmplayer)
)
goto :eof
:beforehand_mplayerpath
if exist %SYSTEMROOT%/BatMPlayer.ini (
set "var_bmp="
set mpp=
for /f "tokens=1,* delims== " %%i in (%SYSTEMROOT%/BatMPlayer.ini) do (
if /i not "%%i"=="" if /i "%%i"=="mppt" set var_bmp=a&set mpp="%%~j"
)
if not defined var_bmp (call :beforehand_findmplayer&goto beforehand_mplayerpath) else (
if exist !mpp! (goto beforehand_drag) else (call :beforehand_findmplayer&goto beforehand_mplayerpath)
)
)
goto :eof
:backgroundmusic
rem 背景音乐
if not defined mpp (
call :beforehand_mplayerpath
if defined mpp (goto backgroundmusic) else (
set var_start= 对不起!播放器不存在!请安装设置!
goto :beforehand_findmplayer
)
) else (
if exist !mpp! (
call :colour "27" " 背景音乐播放中,停止播放请按【Q】或【EnTer】"
if exist "%USERPROFILE%/My Documents/My Music/_urlplaylists.txt" (
!mpp! -playlist "%USERPROFILE%/My Documents/My Music/_urlplaylists.txt">nul 2>nul||!mpp! -cache 2048 http://4400.kehuan.net/music/04-thirteen_senses-into_the_fire.mp3>nul 2>nul&goto main
) else (
!mpp! -cache 2048 http://4400.kehuan.net/music/04-thirteen_senses-into_the_fire.mp3>nul 2>nul&goto :eof
)
) else (
set var_start= 对不起!播放器不存在!请安装设置!)
call :beforehand_findmplayer
)
goto :eof
:setting
cls
COLOR 27
echo;
call :colour "2E" " 设置选项"&echo;
echo; __________________________________________________________________________
echo;
call :colour "2F" " ★ 播放列表" &echo →搜索与创建【F】通用搜索硬盘文件和网络音乐;
echo →将媒体文件拖至“程序图标”上自动生成播放列表;
echo →快捷模式【F 路径名 搜索词】如:F F: 单身情歌
call :colour "2F" " ★ 循环模式" &echo →随机【S】/重复【R】/随机并重复【RS】;
echo →需预置播放列表;仅当前播放有效;通用键【RS】后台播放【BP】;
call :colour "2F" " ★ 歌词设置" &echo →说明与安装【LRC】;歌词模式【GC】
echo →需预置播放列表;窗口单曲播放;下载LRC歌词并确保文件名正确;
call :colour "2F" " ★ 应用配置" &echo →通用键【P】MPlayer路径设置;歌词路径设置;程序路径设置;
call :colour "2F" " ★ 播放器参数设置" &echo →使用介绍【OP】;
call :colour "2F" " ★ 自动关机设置" &echo →查看【At/sd】新建关机计划【SD time】如:sd 23:15
echo →取消当前【SD C】取消计划【SD C time】延后一分:sd c 23:16
echo →须开服务(首次使用)【SD Start】停止服务(停止功能)【SD Stop】;
call :colour "2F" " ★ 编写批处理" &echo →进入【B】;
call :colour "2F" " ★ 进入命令行" &echo →进入【C】;
echo; __________________________________________________________________________
echo;
call :colour "2E" " 请选择(返回【Q】):"
set /p input=
IF /I "!input!"=="" goto setting
IF /I "!input!"=="rs" goto play_general
IF /I "!input!"=="r" goto play_general
IF /I "!input!"=="s" goto play_general
if /i "!input!"=="LRC" call :play_file&goto setting
IF /I "!input!"=="p" goto way
IF /I "!input!"=="OP" goto play_sets
call :input_sets
goto setting
:way
cls
COLOR 27
echo;
call :colour "2E" " BatMPlayer应用配置"&echo;
echo; __________________________________________________________________________
echo;
echo ★ MPlayer程序搜索【FM】通用搜索【F】默认路径【MR】
echo 路径设置【Mppt=MPlayer路径】如:Mppt=C:/MPlayer/MPlayer.exe
echo 当前 MPlayer.exe 的路径是:
if exist !mpp! (echo, Mppt=!mpp!) else (echo 为空!)
echo ★ 歌词路径设置:【Lyrc=歌词路径】如:lyrc=C:/Lyrics
echo ★ 调用外部程序,扩展程序功能。录入常用程序路径后可快捷访问程序。
echo 录入外部程序路径【Name=Path】如:QQ=D:/QQ/Bin/QQ.exe
echo 从主界面调用方法【W Name】如打开QQ程序:W QQ
echo 系统自带的WMPlayer、IEXPLORE等直接用【Start Softwarename】调取。
echo 自动添加【W】QQ/TTPlayer/Storm/PPStream/BeoPlayer的路径。
echo ★ 将外部批处理拖至窗口执行,如无Exit等退出命令将自动返回本程序主界面。
echo ★ 查看【L】备份【B】配置文件 BatMPlayer.ini 保存到 D 盘。
echo; __________________________________________________________________________
echo;
call :colour "2E" " 请输入(返回【Q】):"
set /p "input="
for /f "tokens=*" %%a in ("%input%") do set input=%%~a
echo;
echo 请稍候……
echo;
IF /I "!input!"=="" goto way
if /i "!input!"=="B" copy /y %SYSTEMROOT%/BatMPlayer.ini D:&goto way
if /i "!input!"=="Q" goto setting
if /i "!input!"=="W" call :program_keyin
if /i "!input!"=="L" start "" %SYSTEMROOT%/BatMPlayer.ini&goto way
if /i "!input!"=="FM" call :beforehand_findmplayer&echo 搜索完成!&echo;&pause&goto way
call :input_sets
if /i "!input!"=="MR" (goto way_default) else (echo;!input!>>%SYSTEMROOT%/BatMPlayer.ini)
echo;
echo ★ 设置完成!新设的路径为:!input!
echo;
pause
goto way
:way_default
echo;
if /i "!input!"=="MR" (
if exist "%ProgramFiles%/StormII/codec/MPlayer.exe" (
echo mppt="%ProgramFiles%/StormII/codec/MPlayer.exe">>%SYSTEMROOT%/BatMPlayer.ini
set mpp="%ProgramFiles%/StormII/codec/MPlayer.exe"
echo ★ 设置完成!MPlayer的路径为:!mpp!) else (echo ★ MPlayer的默认路径不存在!)
)
echo;
pause
goto way
:program_keyin
for %%x in (qq ttplayer storm PPStream BeoPlayer) do (
for %%a in (C D) do if exist %%a:/ cd /d %%a:/ && for /r %%i in (%%x.exe) do if exist %%i (
if /i "%%~ni"=="%%x" echo %%x=%%i>>%SYSTEMROOT%/BatMPlayer.ini
)
)
type %SYSTEMROOT%/BatMPlayer.ini
echo,
echo 录入后请注意检查BatMPlayer.ini中的路径名是否正确、重复;
echo;
goto :eof
:beforehand_findmplayer
cls
COLOR 27
echo;
call :colour "2E" " 缺少MPlayer.exe文件,无法播放,正在搜索……"&echo;
echo; __________________________________________________________________________
echo;
echo ★ 尝试搜索常用安装目录,请稍候……
echo;
for %%a in ("%ProgramFiles%/StormII/codec/MPlayer.exe" "D:/Program Files/StormII/codec/mplayer.exe" "D:/mplayer/mplayer.exe" "C:/mplayer/mplayer.exe" "C:/MPlayer_Windows/mplayer.exe" "D:/Program Files/Super Player/codecs/MPlayer.exe" "%ProgramFiles%/Super Player/codecs/MPlayer.exe") do if exist %%a (
set mpp="%%~a"
echo;>>%SYSTEMROOT%/BatMPlayer.ini
echo mppt="%%~a">>%SYSTEMROOT%/BatMPlayer.ini&&goto :eof
) else (call :beforehand_findmplayercd&goto :eof)
:beforehand_findmplayercd
echo;
echo ★ 尝试搜索C、D盘,请稍候……
echo;
cd.>%SYSTEMROOT%/BatMPlayer.ini
for %%a in (C D) do if exist %%a:/ cd /d %%a:/ && for /r %%i in (MPlayer.exe) do if exist %%i (
echo mppt="%%~i">>%SYSTEMROOT%/BatMPlayer.ini
set mpp="%%~i"
goto :eof
)
echo;
call :colour "2C" " ★ 无法找到MPlayer.exe文件!您将无法正常使用本程序!"&echo;
call :colour "2C" " ★ 请确认您的系统安装有MPlayer并手动设置MPlayer.exe的路径。"&echo;
call :colour "2C" " ★ 建议从MPlayer官方网站下载安装MPlayer播放器程序!"&echo;
echo;
echo;
pause
start "" IEXPLORE.EXE http://www.mplayerhq.hu
goto main
:search
cls
COLOR 27
echo;
call :colour "2E" " 通用搜索"&echo;
echo; __________________________________________________________________________
echo;
call :colour "2F" " ★ 可搜索硬盘文件和网络音乐,并将结果保存至_playlists.txt。"&echo;
call :colour "2F" " ★ 技巧:直接将媒体文件拖到程序图标上自动生成播放列表。" &echo;
call :colour "2F" " ★ 路径名(全盘【A】):" &echo 有空格需引号。如:
echo F:/ "D:/Program Files/ttplayer"
call :colour "2F" " ★ 搜索词:" &echo 多个搜索词之间用空格隔开,如:
echo 雅尼 陈慧娴 边走边爱
call :colour "2F" " ★ 网页搜索:" &echo 格式:【网站名缩写 + 搜索词】如:
echo 谷歌搜索“刘德华”:GG 刘德华;
echo 百度【BD】谷歌【GG】狗狗【Gou】酷狗【KG】搜狗【SG】搜搜【SS】;
call :colour "2F" " ★ 常见音频【Y】:" &echo *.mp3 *.wma *.wav。
call :colour "2F" " ★ 常见视频【S】:" &echo *.mp4 *.flv *.3gp *.mpg *.avi *.wmv *.wm *.rm *.rmvb
call :colour "2F" " ★ 快捷模式:" &echo 【F 路径名 搜索词】如:F F: 单身情歌
echo; __________________________________________________________________________
echo;
call :colour "2E" " 输入路径名:"
set /p "input="
IF /I "!input!"=="" goto search
if not defined input set "input=%~d0"
if /i "!input:~0,1!"=="F" for /f "tokens=1,2,*" %%a in ("!input!") do if /i "%%a"=="f" (
set "input=%%b"
set "inport=%%c"
goto search_c)
if /i "!input:~-1,1!"=="/" (set input="!input:~0,-1!") else (set input=!input!)
IF /I "!input!"=="q" goto main
call :input_sets
call :colour "2E" " 输入搜索词:"
set /p "inport="
IF /I "!input!"=="" goto search
if not defined inport set "inport=*.mp3"
IF /I "!input!"=="a" goto search_all
if /i "!inport!"=="q" goto main
if exist "%~dp0_playlists.txt" del /q "%~dp0_playlists.txt">nul 2>nul
if /i "!inport!"=="y" dir /a-d /b /s !input!/*.wma !input!/*.mp3 !input!/*.wav>>"%~dp0_playlists.txt"&goto search_end
if /i "!inport!"=="s" dir /a-d /b /s !input!/*.avi !input!/*.wm !input!/*.rm !input!/*.rmvb !input!/*.wmv !input!/*.mpg !input!/*.flv !input!/*.3gp !input!/*.mp4>>"%~dp0_playlists.txt"&goto search_end
for %%i in (%inport%) do (
set "var_ser=%%i"
if /i "!var_ser:~-3,1!"=="." dir /a-d /b /s %input%/!var_ser!
if /i "!var_ser:~-4,1!"=="." dir /a-d /b /s %input%/!var_ser!
if /i "!var_ser:~-5,1!"=="." (dir /a-d /b /s %input%/!var_ser!) else (dir /a-d /b /s %input%/*%%i*.*)
)>>"%~dp0_playlists.txt"
:search_end
echo;
if exist "%~dp0_playlists.txt" type "%~dp0_playlists.txt"
echo;
if exist "%~dp0_playlists.txt" (call :colour "2E" " ★ 搜索完毕!已在当前目录生成文件列表_playlists.txt。"&echo;) else (call :colour "2E" " ★ 搜索失败,请重试!"&echo;&echo;&pause&goto search)
echo;
pause
goto search
:search_all
cls
echo;
echo ★ 正在全盘搜索,请稍候……
echo;
if exist "%~dp0_playlists.txt" cd.>"%~dp0_playlists.txt"
for %%x in (C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:) do (
if /i "%inport%"=="y" if exist %%x (dir /a-d /b /s "%%x/*.mp3" "%%x/*.wma">>"%~dp0_playlists.txt") else (goto search_end)
if /i "%inport%"=="s" (
if exist %%x (
dir /a-d /b /s "%%x/*.avi" "%%x/*.wm" "%%x/*.rm" "%%x/*.rmvb" "%%x/*.wmv" "%%x/*.mpg" "%%x/*.flv" "%%x/*.3gp" "%%x/*.mp4">>"%~dp0_playlists.txt"
) else (goto search_end)
) else (
if /i not "%inport%"=="y" (
if exist %%x (
for %%i in (%inport%) do (
set "var_ser=%%i"
if /i "!var_ser:~-3,1!"=="." dir /a-d /b /s "%%x/!var_ser!"
if /i "!var_ser:~-4,1!"=="." dir /a-d /b /s "%%x/!var_ser!"
if /i "!var_ser:~-5,1!"=="." (dir /a-d /b /s "%%x/!var_ser!") else (dir /a-d /b /s "%%x/*%%i*.*")
)>>"%~dp0_playlists.txt"
)
)
)
)
goto search_end
:search_c
cd.>"%~dp0_playlists.txt"
if defined input if defined inport dir /a-d /b /s !input!/*!inport!*>>"%~dp0_playlists.txt"
if exist "%~dp0_playlists.txt" type "%~dp0_playlists.txt"
set input=
set inport=
goto search_end
:colour
pushd "%temp%"
>"%~2",set/p= <nul
findstr /a:%~1 .* "%~2*"
del "%~2"
popd
goto :eof
:CL
cls
COLOR 27
echo;
call :colour "2E" " ★ 你已进入命令行提示符!退出【EXIT】;批处理编辑器【B】。 ★"&echo;
echo; __________________________________________________________________________
echo;&set /p input=%~pds0
if /I "!input!"=="B" goto bc
if /I "!input!"=="exit" goto main
call :input_sets
CMD /k !input!
goto :eof
:Bc
cls
COLOR 2F
echo;
call :colour "2E" " 批处理编辑器"
echo;&echo;
call :colour "2E" " ★ 可编写一般的批处理代码,可以复制粘贴和拖入BAT文件查看代码。★"&echo;
call :colour "2E" " ★ 结果mpb.bat在临时文件夹Temp下。变量延迟【SETL】for【FOR】。★"&echo;
call :colour "2E" " ★ 新建【XJ】另存【LC】执行【ZX】打开【DK】C【CMD】退出【Q】。★"&echo;
echo; __________________________________________________________________________
echo;
echo @echo off>"%temp%/mpb.bat"
set var_num=0
:bc_sets
set /a var_num+=1
if !var_num! lss 10 (
call :colour "2C" "BEdit0!var_num!﹥"
set /p "input="
) else (
call :colour "2C" "BEdit!var_num!﹥"
set /p "input="
)
:bc_cl
if /i "!input!"=="c" (
echo;
call :colour "0C" "您已经入命令行提示符界面!返回编辑器请使用【EXIT】命令"
echo;&echo;
set /p input=%~pds0&call :input_sets&CMD /k !input!
echo;
call :colour "0C" "按任意键返回编辑器……"
echo;
pause>nul
echo;
goto bc_sets
)
:bc_hotkey
if /i "!input!"=="setl" (
set input=setlocal enabledelayedexpansion
echo !input!>>"%temp%/mpb.bat"&echo !input!
goto bc_sets
)
if /i "!input!"=="for" (
set "input=for /f "tokens=* delims=" %%%%a in (".") do echo %%%%a"
echo !input!>>"%temp%/mpb.bat"&&echo !input!
goto bc_sets
)
if /i not "!input!"=="q" (
if exist "!input!" (
type "!input!"
echo;
call :colour "0C" "按任意键返回编辑器……"
echo;
pause>nul
echo;
goto bc_sets
)
:xj
if /i "!input!"=="xj" (
del /q /f /s /a "%temp%/_mpb.bat">nul 2>nul
echo @echo off>"%temp%/mpb.bat"
echo echo;>>"%temp%/mpb.bat"
echo echo;>>"%temp%/mpb.bat"
echo echo;>>"%temp%/mpb.bat"
echo ::pause>>"%temp%/mpb.bat"
echo ::exit>>"%temp%/mpb.bat"
goto bc
)
:zx
if /i "!input!"=="zx" (
del /q "%temp%/_mpb.bat">nul 2>nul
echo echo;>>"%temp%/mpb.bat"
echo pause>>"%temp%/mpb.bat"
echo exit>>"%temp%/mpb.bat"
copy "%temp%/mpb.bat" "%temp%/_mpb.bat">nul 2>nul
start "mpb" "%temp%/_mpb.bat"
goto bc_sets
)
:dk
if /i "!input!"=="dk" (
echo pause>>"%temp%/mpb.bat"
echo exit>>"%temp%/mpb.bat"
start "" notepad.exe "%temp%/mpb.bat"
goto bc_sets
)
:lc
if /i "!input!"=="lc" (
set /p mbp=另存为(桌面【ZM】当前【DQ】返回【Q】):
if /i "!mbp!"=="" goto bc_sets
if /i "!mbp!"=="Q" goto bc_sets
if /i "!mbp!"=="zm" (
echo pause>>"%temp%/mpb.bat"
echo exit>>"%temp%/mpb.bat"
copy "%temp%/mpb.bat" "%USERPROFILE%/桌面"
goto bc_sets
)
if /i "!mbp!"=="dq" (
echo pause>>"%temp%/mpb.bat"
echo exit>>"%temp%/mpb.bat"
copy "%temp%/mpb.bat" "%~pd0"
goto bc_sets
)
echo pause>>"%temp%/mpb.bat"
echo exit>>"%temp%/mpb.bat"
copy "%temp%/mpb.bat" "!mbp!"&goto bc_sets
)
call :input_sets
echo !input!>>"%temp%/mpb.bat"
goto bc_sets
)
goto :eof
:help
cls
COLOR 27
echo;
call :colour "2E" " 使用说明"&echo;
echo; __________________________________________________________________________
echo;
echo ★ 按提示输入后需回车才执行,但播放中使用控制键时一般不需回车。
echo ★ 将(单个)音频、视频文件或文件列表(TXT格式)拖入窗口并回车开始播放。
echo ★ 将(多个)媒体文件拖至程序图标(非窗口)自动生成播放列表并自动播放。
echo ★ 可直接输入盘符、文件夹和文件路径回车播放。
echo ★ 可使用TAB键;可直接回车播放_playlists.txt中的歌曲,但不是每次有效。
echo ★ 可使用URL(http、rtsp、vcd、dvd类)播放网络音乐和设备媒体。
echo ★ 网络音乐存至My Documents/_urlplaylists.txt,需保证URL正确和网络流畅。
echo ★ 使用循环模式需先设置播放列表,且只对当前播放有效。
echo ★ 歌词显示需预置播放列表;窗口单曲播放;歌词模式时TXT中的歌曲不宜多;
echo ★ 下载LRC歌词并使文件名符合格式“歌手名+歌曲名”如:许巍-完美生活.mp3
echo ★ 可在主界面使用DOS命令、CMD和BAT编辑器,可用【%%mpp%%】调取播放器。
echo ★ 请使用并熟悉全局通用键和播放控制键,可网络搜索音乐和设置定时关机。
echo ★ 本程序默认使用暴风影音自带的MPlayer.exe,须先安装MPlayer(或暴风影音)。
echo ★ 无法播放请手动设置其路径,或%SYSTEMROOT%/BatMPlayer.ini中的路径。
echo ★ 可通过MPlayer的官方网站下载原版MPlayer程序: http://www.mplayerhq.hu
echo ★ MPlayer偶尔会出现一些小故障,与MPlayer有关的更多内容请参考其官方说明。
echo;
echo; __________________________________________________________________________
echo;
pause
call :entry
call :play_sets
call :lyrics_face
call :about
goto :eof
:entry
COLOR 27
cls
echo;
call :colour "2E" " 全局通用快捷键"&echo;
echo; __________________________________________________________________________
call :colour "2F" " 名称 热键 说明"
echo;
echo quit Q 退出/返回上一层;
echo setting S 设置选项;
echo find F 搜索与创建文件列表;
echo cmd C 进入命令行提示符;
echo bat B 进入批处理编辑器;
echo call out;right-of-way W 调取配置中的外部程序:w+softwarename;
echo help H 帮助说明;
echo hotkey HK 快捷键(热键)说明;
echo option and help OP 播放器命令参数设置说明;
echo repeat and stochastic RS 循环与随机播放;
echo geci GC 歌词模式;
echo background music BM 播放背景音乐;
echo backstage play BP 后台播放
echo quit QQ 结束(后台)播放;
echo shutdown SD 自动关机设置:sd+time;
echo cjiabing CB 打开本程序作者空间;
echo bathome BH 打开批处理之家论坛;
echo cn-dos CD 打开中国DOS联盟论坛;
echo mplayerhq MP 打开MPlayer官网主页;
echo; __________________________________________________________________________
call :colour "2E" " [★ 快捷键全局有效,注意看提示。]"&pause
goto hotkey
:hotkey
cls
COLOR 27
echo;
call :colour "2E" " 播放基本控制键"&echo;
echo; __________________________________________________________________________
echo;
echo p 或 SPACE 或 ^> 暂停播放(按任意键继续);
echo q 或 ESC 停止播放并退出;
echo pgdown 或 pgup 上一首 / 下一首;
echo down 或 up 快进 / 后退 1 分钟;
echo ] 或 [ 快速播放 / 慢速播放;
echo ) 或 ( 增加或减少音量,每次+/-3%%;
echo * 或 / 增加或减少pcm音量;
echo m 静音;
echo f 全屏;
echo o 循环切换 OSD 模式:无/定位条/定位条+计时器;
echo z 或 x 调整字幕延迟+/-0.1秒;
echo r 或 t 上/下调整字幕位置;
echo 1 或 2 调整对比度;
echo 3 或 4 调整亮度;
echo 5 或 6 调整色调
echo 7 或 8 调整饱和度。
echo; __________________________________________________________________________
call :colour "2E" " [★ 部分快捷键可能在特定条件下才有效]"&echo;
echo;
pause
goto :eof
:about
cls
COLOR 27
echo;
call :colour "2E" " 关 于"&echo;
echo; __________________________________________________________________________
echo;
echo ★ 当前版本:批处理版音视频播放器 BatMPlayer V6.6 歌词版。
echo ★ 本程序基于命令行版MPlayer播放器,以批处理的方式运行。
echo ★ MPlayer是一款优秀的开源软件,任何人都可以永久免费安装使用。
echo ★ MPlayer支持各种常见的音频、视频媒体格式,支持网络播放。
echo ★ 本程序为MPlayer添加了一个类似GUI的批处理交互界面。
echo ★ 极大地支持多种输入播放,可以使用快捷键控制播放。
echo ★ 本程序版权归cjiabing所有,免费共享。
echo ★ 用于学习和研究,但不可用于商业与非法目的。
echo ★ 难免存在缺陷,使用须自担风险,欢迎反馈交流。
echo ★ 谢谢 Netbenton 兄的支持,向你学习。
echo ★ 以批处理的方式思考,爱批处理更爱生活!
echo ★ 献给喜欢简单和怀旧的年轻朋友,祝大家生活愉快!
echo;
call :colour "2E" " 甲兵时代"&echo;
echo 2010.10.10
echo http://hi.baidu.com/cjiabing
echo; __________________________________________________________________________
echo;
pause
goto start
:play_sets
cls
COLOR 27
echo;
call :colour "2E" " 播放器参数设置说明"&echo;
echo; __________________________________________________________________________
echo;
echo ★ 因MPlayer的设置较复杂,这里只做介绍,具体使用请参照官方说明。
echo ★ 使用说明man_page.html位于MPlayer目录下,是英文的。
echo ★ MPlayer的用户配置位于~/.mplayer/config,可自行配置。
echo ★ 本程序也支持使用自定义的MPlayer命令配置,使用方法如下:
echo 在主界面使用【%%mpp%%】代替MPlayer,遵循MPlayer命令格式。
echo 如指定字幕文件:%%mpp%% -sub ^<somesubtitlefile^> ^<somefile^>
echo 如设置缓存:%%mpp%% -cache 8192 -cache-min 50 -playlist ^<file or url^>
echo;
echo;
echo; __________________________________________________________________________
call :colour "2E" " [★ 更多内容请阅读官方说明]"&echo;
echo;
pause
cls
COLOR 27
echo;
call :colour "2E" " 播放器参数设置说明"&echo;
echo; __________________________________________________________________________
echo;
echo -playlist ^<文件^> 指定播放列表文件
echo -ss ^<位置^> 定位至给定(秒数或时:分:秒 - hh:mm:ss)位置
echo -nosound 不播放声音
echo -fs -vm -zoom 全屏播放选项(fullscr,vidmode chg,softw.scale)
echo -x ^<x^> -y ^<y^> 设置显示的分辨率(用以与 -vm 或 -zoom 一起使用)
echo -vid x -aid y 选择播放视频流(x)和音频流(y)
echo -fps x -srate y 改变视频帧率为 x(fps),音频采样率为 y(Hz)
echo -pp ^<质量^> 启用后期处理过滤器(详见于手册相关页面manpage/docs)
echo -framedrop 启用丢帧(用于运行慢的机器)
echo -vo ^<drv^> 选择视频输出驱动程序(查看驱动程序列表用“-vo help”)
echo -ao ^<drv^> 选择音频输出驱动程序(查看驱动程序列表用“-ao help”)
echo vcd://^<曲目号^> 播放 (S)VCD(超级VCD)曲目(无格式设备,无需装载)
echo dvd://^<标题号^> 从设备而不是从普通文件上播放 DVD 标题
echo -sub ^<文件^> 指定所使用的字幕文件(另见 -subfps、-subdelay)
echo -alang/-slang 选择DVD音轨/字幕的语言(使用两位的国家代码)
echo;
echo; __________________________________________________________________________
call :colour "2E" " [★ 更多内容请阅读官方说明]"&echo;
echo;
pause
cls
COLOR 27
echo; __________________________________________________________________________
echo %%mpp%% ^[options^] ^[ file ^| URL ^| playlist ^| - ^]
echo %%mpp%% ^[global options^] file1 ^[specific options^] ^[file2^] ^[specific options^]
echo %%mpp%% ^[global options^] {group of files and options} ^[group specific options^]
echo %%mpp%% dvd^:^/^/^[title ^| ^[start_title^]-end_title ^] ^[options^]
echo %%mpp%% vcd^:^/^/track^[^/device^]
echo %%mpp%% tv^:^/^/^[channel^] ^[options^]
echo %%mpp%% dvb^:^/^/^[card_number@^]channel ^[options^]
echo %%mpp%% mf^:^/^/filemask ^[-mf options^] ^[options^]
echo %%mpp%% ^[cdda^|cddb^]^:^/^/track^[^:speed^]^[^/device^] ^[options^]
echo %%mpp%% cue^:^/^/file^[^:track^] ^[options^]
echo %%mpp%% ^[file^|mms^[t^]^|http^|http_proxy^|rt^[s^]p^|ftp^|udp^|unsv^]^:^/^/ ^[user^:passwd^@^]URL^[^:port^] ^[options^]
echo %%mpp%% sdp^:^/^/file ^[options^]
echo %%mpp%% mpst^:^/^/host^[^:port^]^/URL ^[options^]
echo %%mpp%% tivo^:^/^/host^/list ^[options^]
echo %%mpp%% tivo^:^/^/host^/llist ^[options^]
echo %%mpp%% tivo^:^/^/host^/fsid ^[options^]
echo gmplayer ^[options^] ^[-skin skin^]
echo mencoder ^[options^] ^[ file ^| URL ^| - ^] ^[-o file^]
echo mencoder ^[global options^] file1 ^[specific options^] ^[file2^] ^[specific options^]
echo; __________________________________________________________________________
call :colour "2E" " [★ 更多内容请阅读官方说明]"&pause
goto :eof
:Lyrics
::title BatMPlayerMiniLyrics
color 06
cls
set var_lyrpone=甲兵时代
set var_lyrp=甲兵时代
set "var_d=╔════════════╗"
set "var_da=║ 甲兵时代★倾情巨献 ║"
set "var_db=║ 爱批处理,更爱生活 ║"
set "var_dc=╚════════════╝"
set "var_dd="
:lyrics_path
if exist %SYSTEMROOT%/MPlayerPath.ini (for /f "tokens=1,* delims== " %%i in (%SYSTEMROOT%/MPlayerPath.ini) do if /i "%%i"=="lyrc" if exist %%~j set "lyrc_way=%%~j")
for %%a in ("!lyrc_way!" "%ProgramFiles%/KwDownload/Lyric" "%APPDATA%/Tencent/QQMusic/QQMusicLyric/" "%ProgramFiles%/kugou/kugou2010/lyric" "c:/Program Files/TTPlayer/Lyrics" "d:/Program Files/TTPlayer/Lyrics") do if exist %%a set var_lyrp=%%~a
:lyrics_input
for /f "tokens=*" %%x in ("%input%") do (
set "var_mname=%%~nx"
if exist "%%~dpx/!var_mname!.lrc" (
set var_lyrpone="%%~dpx/!var_mname!.lrc"
call :lyrics_exist&goto :eof)
if exist "!var_lyrp!/!var_mname!.lrc" (
set var_lyrpone="!var_lyrp!/!var_mname!.lrc"
call :lyrics_exist&goto :eof
) else (call :lyrics_serv&call :lyrics_exist&goto :eof)
)
goto :eof
goto main
:lyrics_exist
call :lyrics_head
call :Lyrics_edit
call :lyrics_read
goto :eof
goto main
:lyrics_head
title 正在播放:!var_mname!
set var_fix=0
set str_head=0
set "tab_str= "
for /l %%a in (1,1,1000) do set "tab_var=!tab_var!"
for /l %%i in (1,1,6) do echo;
if exist !var_lyrpone! (
echo; ╭───────────────╮
echo; │ 甲兵时代★倾情巨献 │
echo; │==============================│
echo; │ BatMPlayerMiniLyrics 星空版 │
echo; │ 停止播放按 【Q】键后稍等一下 │
echo; ╰───────────────╯
) else (
call :colour "0c" " ╭───────────────╮"&echo;
call :colour "0c" " │ 甲兵时代★倾情巨献 │"&echo;
call :colour "0c" " │==============================│"&echo;
call :colour "0c" " │ 没有找到歌词,请检查! │"&echo;
call :colour "0c" " │ 更换歌曲请按【Q】 键! │"&echo;
call :colour "0c" " ╰───────────────╯"&echo;
ping /n 3 127.0.1>nul
)
for /l %%i in (1,1,4) do echo;
if exist !var_lyrpone! (
for /f "usebackq tokens=1,2,3,* delims=]:.,/=[+-*/#@" %%a in (!var_lyrpone!) do (
set /a str_head+=1
if /i "%%a"=="ti" call :colour "06" " 歌 曲【%%b】"&echo;
if /i "%%a"=="ar" call :colour "06" " 歌 手【%%b】"&echo;
if /i "%%a"=="al" call :colour "06" " 专 辑【%%b】"&echo;
if /i "%%a"=="by" call :colour "06" " 制 作【%%b】"&echo;
if "!str_head!" gtr "5" goto :eof
)
) else (goto :eof)
goto :eof
:lyrics_read
set stm=
set var_tlist=1
echo ﹎ ﹎.. ﹎ .. ○﹎ ﹎
echo ▇▆▅▃▂▂.o﹎.﹎┈ ﹎ ┈┈ ﹎.﹎ ﹎.﹎. ┈ ﹎┈﹎ ● ○ .﹎.﹎
echo ﹎.﹎ ┈ ┈┈﹎ ﹎.. ﹎┈ ﹎ ┈ ﹎ ﹎.﹎┈ ┈﹎┈﹎.﹎┈ ┈ /█//▓/ ┈﹎.o﹎
echo ┈ ﹎.﹎ ┈ ┈ .┈ ﹎﹎ ┈﹎﹎┈ ﹎..﹎.o┈﹎o▂▃▅▆▅▆▇█████▇▆▅▃
call :colour "07" "□■□■□■□■□■□■□■□BatMPlayerMiniLyrics□■□■□■□■□■□■□■□"&echo;
echo;∷∷∷∷∷部分英文符号导致歌词乱码;退出按一下【Q】或【Enter】稍加等待∷∷∷∷u
echo;∷∷∷∷∷部分英文符号导致歌词乱码;退出按一下【Q】或【Enter】稍加等待∷∷∷∷u
start /b "" %ComSpec% /c "start /b/wait "" !mpp! "!input!">nul 2>nul&echo .>"%temp%/$mplrcq$.txt""
for /f "usebackq tokens=1-3,* delims=][:." %%a in ("%temp%/_Lyric.tmp") do (
if /i !var_tlist!==2 (tasklist>nul&set var_tlist=2) else (set /a var_tlist+=1)
set vtm=!stm!
set stm=%%a:%%b.%%c
call :Lyrics_time
call :colour "07" "□■□■□■□■□■□■□■□BatMPlayerMiniLyrics□■□■□■□■□■□■□■□"&echo;
echo;
echo;
echo; ↓【%%a-%%b-%%c】
call :colour "01" " ◇▏"&call :colour "1d" "○↓%%d☆"&echo;
if !rvc! geq 0 %SYSTEMROOT%/sleep.exe %1!rvc!!rvb!!rva!0-10>nul 2&&call :colour "01" " ◇"&call :colour "1c" "●♀%%d★"
echo;
if exist "%temp%/$mplrcq$.txt" (del /f /q /s "%temp%/$mplrcq$.txt"&goto :eof)>nul 2>nul
call :colour "01" " ◇▏"&call :colour "1e" "○↓!var_d!☆"&echo;
call :colour "01" " ◇"&call :colour "1f" "●↓!var_da!☆"&echo;
call :colour "01" " ◇▏"&call :colour "1b" "○♀!var_db!☆"&echo;
call :colour "01" " ◇"&call :colour "1a" "●↓!var_dc!☆"&echo;
call :colour "01" " ▏"&call :colour "17" "○↓!var_dd!☆"&echo;
echo; ↓
echo !tab_str!!tab_var! 2>nul&set /p=<nul
set var_dd=!var_dc!
set var_dc=!var_db!
set var_db=!var_da!
set var_da=!var_d!
set var_d=%%d
)
goto :eof
:Lyrics_time
set vtma=1!vtm:~-4,1!!vtm:~-2,2!
set vtmb=!vtm:~-5,1!
set vtmc=!vtm:~-8,2!
set stma=1!stm:~-4,1!!stm:~-2,2!
set stmb=!stm:~-5,1!
set stmc=!stm:~-8,2!
if !stma! lss !vtma! (
set /a rva=1000+!stma!-!vtma!-300>nul 2>nul
set /a rvb=!stmb!-1>nul 2>nul
) else (
set /a rva=!stma!-!vtma!>nul 2>nul
)>nul 2>nul
if !stmb! lss !vtmb! (
if !stma! lss !vtma! (set /a rvb=6-!vtmb!+!stmb!-1>nul 2>nul) else (set /a rvb=6-!vtmb!+!stmb!>nul 2>nul)
set /a rvc=!stmc!-!vtmc!-1>nul 2>nul
) else (
if !stma! lss !vtma! (set /a rvb=!stmb!-!vtmb!-1>nul 2>nul) else (set /a rvb=!stmb!-!vtmb! >nul 2>nul)
)>nul 2>nul
if !stmc! geq !vtmc! if !stmb! geq !vtmb! set /a rvc=!stmc!-!vtmc!>nul 2>nul
goto :eof
:Lyrics_edit
cd.>"%temp%/_Lyric.tmp"
cd.>"%temp%/_Lyrics.tmp"
for /f "usebackq tokens=1-9,* delims=][:." %%a in (!var_lyrpone!) do (
if "%%a%%b%%c" lss "707000" if "%%a%%b%%c" gtr "000000" echo [%%a:%%b.%%c] %%d %%e %%f %%g %%h %%i %%j
if "%%a%%b%%c" lss "707000" if "%%a%%b%%c" gtr "000000" if "%%d%%e%%f" lss "707000" if "%%d%%e%%f" gtr "000000" echo [%%d:%%e.%%f] %%g %%h %%i %%j
if "%%a%%b%%c" lss "707000" if "%%a%%b%%c" gtr "000000" if "%%d%%e%%f" lss "707000" if "%%d%%e%%f" gtr "000000" if "%%g%%h%%i" lss "707000" if "%%g%%h%%i" gtr "000000" echo [%%g:%%h.%%i] %%j
)>>"%temp%/_Lyric.tmp"
for /f "usebackq tokens=1* delims=]" %%a in ("%temp%/_Lyric.tmp") do (
set var_lyrtmp=%%b
for /l %%i in (0,1,9) do set var_lyrtmp=!var_lyrtmp:%%i=!
echo %%a] !var_lyrtmp!
)>>"%temp%/_Lyrics.tmp"
echo;>"%temp%/_Lyric.tmp"
sort "%temp%/_Lyrics.tmp">>"%temp%/_Lyric.tmp"
goto :eof
:lyrics_serv
for /f "tokens=* delims=--]:./,》^)-/=[^+^《--*))_-_^(^&((#^@_ " %%x in ('echo %input%') do (
for /f "tokens=1,2,3,* delims=--]:./,》^)-/=[^+^《--*))_-_^(^&((#^@_ " %%a in ("%%~nx") do (
set var_en=%%a
echo !var_en:~0,1!|findstr /x "[a-zA-Z]">nul&&if not "%%d"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%b*%%d*.lrc"') do set var_lyrpone="%%~i"&&goto :eof||if not "%%c"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%c*%%a*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%d"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%a*%%b*%%c*%%d*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%c"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%a*%%b*%%c*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%b"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%a*%%b*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%b"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%b*%%a*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%c"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%c*%%a*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%c"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%b*%%c*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%d"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%a*%%d*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
if not "%%b"=="" for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%b*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
for /f "tokens=*" %%i in ('dir /a-d /b /s "!var_lyrp!/*%%a*.lrc"') do set var_lyrpone="%%~i"&&goto :eof
)
)>nul 2>nul
goto :eof
:lyrics_face
cls
COLOR 27
echo;
call :colour "2E" " 歌词安装与使用说明"&echo;
echo; __________________________________________________________________________
echo;
call :colour "0e" " ★ 第一次运行歌词挂件BatMPlayerMiniLyrics,需要安装!"&echo;
call :colour "0e" " ★ 安装后如无法正常使用,请关闭本程序重新打开!"&echo;
echo;
echo; ★ 窗口拖入单曲播放,假如有对应的 LRC 文件自动显示歌词。
echo; ★ 默认使用千千静听等软件的歌词库, 可使用它们下载歌词。
echo; ★ 也可以在【设置选项 - 应用配置】中自己配置歌词路径。
echo; ★ 请确保你的歌曲名符合【歌手名 + 歌曲名】的基本格式!
echo; ★ 歌名最佳形式如:许巍 - 完美生活.mp3,只有歌名也可以。
echo; ★ 歌词显示不正确可能是不存在歌词文件 或文件名格式不同!
echo; ★ 歌词显示过慢时可使用【space】键暂停播放等待歌词显示。
echo; ★ 歌词显示过快时可使用【up】键加快播放进度以跟上歌词 。
echo; ★ 退出过程稍慢,摁一下【Q】键或【Enter】键后等待一两秒。
echo; ★ 播放过程中最好不要进行其它操作,以免干扰歌词显示时间。
echo; ★ 没有歌词自动返回主界面,歌曲后台播放,停止用【QQ】键。
echo;
echo; __________________________________________________________________________
echo;
if not exist %SYSTEMROOT%/sleep.exe if /i not "!input!"=="lrc" goto lyrics_sets
if /i "!input!"=="lrc" goto lyrics_sets
pause
goto :eof
:lyrics_sets
set /p input= 安装【Y】返回【Q】
if /i "!input!"=="" goto lyrics_face
if /i "!input!"=="y" goto sleep
if /i "!input!"=="q" goto main
call :input_sets
cls&goto :eof
:sleep
del %SYSTEMROOT%/sleep.com,sleep.exe>nul 2>nul
:: Sleep.bat - Sleep/Delay/Wait n seconds
:: Herbert Kleebauer(Germany) - 2005/05/29
:: Modified by Will Sort - 2005/06/02, 07-25
echo q | debug>nul
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>%SYSTEMROOT%/sleep.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>%SYSTEMROOT%/sleep.com
echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>%SYSTEMROOT%/sleep.com
echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>%SYSTEMROOT%/sleep.com
echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>%SYSTEMROOT%/sleep.com
echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>%SYSTEMROOT%/sleep.com
echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>%SYSTEMROOT%/sleep.com
echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>%SYSTEMROOT%/sleep.com
echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>%SYSTEMROOT%/sleep.com
echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>%SYSTEMROOT%/sleep.com
echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it/EH>>%SYSTEMROOT%/sleep.com
echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>%SYSTEMROOT%/sleep.com
echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>%SYSTEMROOT%/sleep.com
%SYSTEMROOT%/sleep.com>%SYSTEMROOT%/sleep.exe
del %SYSTEMROOT%/sleep.com
start "" "%ComSpec%" /k "!var_sleep!"
exit