CODE: [Copy to clipboard]
@echo off
title dos多功能音乐播放器 作者:tianzizhi(cn-dos)
:bof
cls
setlocal enabledelayedexpansion
attrib +h +s mplayer\choice.exe.exe >nul 2>nul
attrib +h +s mplayer\where.exe.exe >nul 2>nul
set /a a=0
for /f "delims=" %%i in ('dir mplayer\*.* /a/b/s') do set /a a=!a!+%%~zi
if not !a!==212693 echo mplayer文件夹内文件有损坏,请检查.... & pause & exit
if not exist dos多功能音乐播放器.EXE echo dos多功能音乐播放器.EXE不存在或已改名.. && pause &exit
for %%i in (dos多功能音乐播放器.EXE) do @ set w=%%~zi
if not !w!==130046 echo dos多功能音乐播放器.EXE软件有问题,不能播放... && pause & exit
if not exist mplayer\2.exe echo 2.exe文件已不存在或已改名.... & pause & exit
start /b /min mplayer\2.exe >nul 2>nul
color 5e
echo *************************************************************************
echo ======================欢迎使用dos多功能音乐播放器=======================
echo =======================制作人:tianzizhi #cn-dos#========================
echo 1.本软件完全免费.2.自动随机播放. 3.随机+指定播放功能.
echo 4.改善mplayer不能随机播放的缺陷.5.换歌请按Pgup or ESC 四箭头调节进度
echo 6.目录歌曲随便加,摆脱掉目录歌曲更改时,播放器列表要也要手到更改的烦恼.
echo 7.具有筛选和搜索目录功能,音乐目录里有其它文件也可以,不影响播放.
echo 8.支持音乐格式:mp3,wma,wmv,avi,mpeg,rm,rmvb,并自动判断目录内有无歌曲.
echo 9.六种播放模式随你选,在显示(退出)字样时输入exit,回车,可退出此模式.
echo 10.有什么建议或问题,请联系:zhangjihai095@163.com或QQ:419503077
echo 11.请勿修改本软件文件名,若修改将不能正常播放.
echo *************************************************************************
attrib.exe +h +s %temp%\*.bat >nul 2>nul
if not exist mplayer.exe echo 错误,找不到mplayer.exe,请把mplayer放到本软件同一目录里,然后按任意键继续. && pause
if not exist mplayer.exe exit
if exist 目录.txt ( for /f "delims=" %%i in (目录.txt) do set ge=%%i & goto zhu )
set /p ge=请输入歌曲所在目录或盘符(盘符搜索慢),如(d:\音乐或d:\):
echo.
echo 是否记住此目录,若记住下次运行时不必输入目录..
echo 记住后若想再换目录,请删除(目录.txt)或在(目录.txt)里直接改成想要换的目录..
set /p ji=y,n:
if %ji%==y echo %ge% >目录.txt
echo.
goto zhu
:zhu
echo 请稍等,正在搜索文件.......
echo.
mplayer\where.exe /r %ge% *.mp3 *.wma *.wmv *.avi *.mp*g *.rm *.rmvb >nul 2>nul || echo "错误,文件夹内没有可播放的音乐..." && pause && del 目录.txt /f/a/q 2>nul && exit
if exist %temp%\di.txt >nul 2>nul del %temp%\di.txt /a /f
if exist %temp%\dir >nul 2>nul rd %temp%\dir /q /s
md %temp%\dir >nul 2>nul
mplayer\where.exe /r %ge% *.mp3 *.wma *.wmv *.avi *.mp*g *.rm *.rmvb>%temp%\di.txt 2>nul
set num=1
for /f "delims=" %%i in (%temp%\di.txt) do (
echo %%i>%temp%\dir\!num!.txt
set /a num=!num!+1
)
attrib +h +s %temp%\di.txt >nul 2>nul
attrib +h +s %temp%\dir >nul 2>nul
if exist 歌曲列表.txt del 歌曲列表.txt /a/f/q
if not exist 歌曲列表.txt set /a num=1 & for /f "delims=" %%i in ('mplayer\where.exe /r %ge% *.mp3 *.wma *.wmv *.avi *.mp*g *.rm *.rmvb 2^>nul') do echo !num! %%i>>歌曲列表.txt 2>nul & set /a num=!num!+1
set /a num=!num!-1
echo 歌曲列表已在目录中,请查看.
echo 请选择播放模式.........
echo.
:zheng
set /p a=随机播放请输入0,指定一首播放请输入1,指定一首循环播放请输入2,按顺序播放全部请输入3,按顺序播放若干首歌请输入4,从列表中选几首喜欢的听请输入5:
if %a%==0 goto go
if %a%==1 goto yi
if %a%==2 goto bo
if %a%==3 goto shun
if %a%==4 goto xu
if %a%==5 goto tiao
if not %a%==0 if not %a%==1 if not %a%==2 if not %a%==3 if not %a%==4 if not %a%==5 echo 错误,请选择正确代号....&echo. & goto zheng
:go
set /a b=!num!-1
set /a c=%random% %% %b%+1
for /f "delims=" %%j in (%temp%\dir\%c%.txt) do (
start /b/min/wait mplayer "%%j"
mplayer\choice.exe /c yn /m "go on ok?" /t 2 /d y
if errorlevel 5 goto yes
if errorlevel 2 cls & goto bof
:yes
echo *************************************************************************
echo =================== 欢迎使用dos随机+指定音乐播放器======================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
goto go)
:bo
cls
if not exist 歌曲列表.txt echo 歌曲列表已不存在... && pause & goto bof
for /f "delims=" %%i in (歌曲列表.txt) do echo %%i
set /p bofang=请输入你要听歌的代码(或退出此模式):
if %bofang%==exit cls & goto bof
set /p xun=请输入要循环的次数:
if %bofang% LSS 1 echo 错误,请输入正确代码... & set /p bofang=请输入你要听歌的代码: & set /p xun=请输入要循环的次数:
if %bofang% GTR !num! echo 错误,请输入正确代码... & set /p bofang=请输入你要听歌的代码: & set /p xun=请输入要循环的次数:
if %bofang% LSS 1 goto bo
if %bofang% GTR !num! goto bo
for /f "delims=" %%i in (%temp%\dir\%bofang%.txt) do @(
set c=1 & goto fang
)
:fang
for /f "delims=" %%i in (%temp%\dir\%bofang%.txt) do @(
echo *************************************************************************
echo =====================欢迎使用dos随机+指定音乐播放器=====================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
start /min/b /wait mplayer "%%i"
set /a c=!c!+1
if !c! LEQ %xun% (goto fang) else (goto bo)
)
:yi
cls
if not exist 歌曲列表.txt echo 歌曲列表已不存在... && pause & goto bof
for /f "delims=" %%i in (歌曲列表.txt) do echo %%i
set /p bofang=请输入你要听歌的代码(或退出此模式):
if %bofang%==exit cls & goto bof
if %bofang% LSS 1 echo 错误,请输入正确代码... & set /p bofang=请输入你要听歌的代码:
if %bofang% GTR !num! echo 错误,请输入正确代码... & set /p bofang=请输入你要听歌的代码:
if %bofang% LSS 1 goto yi
if %bofang% GTR !num! goto yi
for /f "delims=" %%i in (%temp%\dir\%bofang%.txt) do @(
echo *************************************************************************
echo =====================欢迎使用dos随机+指定音乐播放器=====================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
start /min/b /wait mplayer "%%i" & goto yi)
:shun
if not exist 歌曲列表.txt echo 歌曲列表已不存在... && pause & goto bof
for /f "delims=" %%i in (歌曲列表.txt) do echo %%i
for /f "delims=" %%i in (%temp%\di.txt) do @(
echo *************************************************************************
echo =====================欢迎使用dos随机+指定音乐播放器=====================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
start /min/b /wait mplayer "%%i"
mplayer\choice.exe /c yn /m "go on ok?" /t 2 /d y
if not errorlevel 5 if errorlevel 2 cls & goto bof
)
echo 播放完毕,是否继续循环..
set /p xuan=y,n:
if %xuan%==y goto shun
if %xuan%==n exit
:xu
cls
if not exist 歌曲列表.txt echo 歌曲列表已不存在... && pause & goto bof
for /f "delims=" %%i in (歌曲列表.txt) do echo %%i
set /p kai=请输入开始的代号(或退出此模式):
if %kai%==exit cls & goto bof
set /p jie=请输入结束的代号:
if %kai% LSS 1 echo 错误,请输入正确代码... & set /p kai=请输入开始的代码: & set /p jie=请输入结束的代号:
if %kai% GTR !num! echo 错误,请输入正确代码... & set /p kai=请输入开始的代码: & set /p jie=请输入结束的代号:
if %jie% LSS 1 echo 错误,请输入正确代码... & set /p kai=请输入开始的代码: & set /p jie=请输入结束的代号:
if %jie% GTR !num! echo 错误,请输入正确代码... & set /p kai=请输入开始的代码: & set /p jie=请输入结束的代号:
if %kai% GTR %jie% echo 错误,请输入正确代码... & set /p kai=请输入开始的代码: & set /p jie=请输入结束的代号:
if %kai% LSS 1 goto xu
if %kai% GTR !num! goto xu
if %jie% LSS 1 goto xu
if %jie% GTR !num! goto xu
if %kai% GTR %jie% goto xu
goto hu
:hu
for /f "delims=" %%i in (%temp%\dir\%kai%.txt) do @(
echo *************************************************************************
echo =====================欢迎使用dos随机+指定音乐播放器=====================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
start /min/b /wait mplayer "%%i"
set /a kai=!kai!+1
if !kai! LEQ %jie% (goto hu) else (goto xu)
)
:tiao
del %temp%\tiao.txt /s /a /q /f >nul 2>nul
cls
if not exist 歌曲列表.txt echo 歌曲列表已不存在... && pause & goto bof
for /f "delims=" %%i in (歌曲列表.txt) do echo %%i
set /p zong=请输入总共要播放歌曲的个数(或退出此模式):
if %zong%==exit cls & goto bof
if %zong% LSS 1 echo 错误,请输入正确代码... & ping -n 3 127.0.1 >nul 2>nul & goto tiao
if %zong% GTR !num! echo 错误,请输入正确代码... & ping -n 3 127.0.1 >nul 2>nul & goto tiao
for /l %%i in (1,1,%zong%) do @(
set /p %%i=请输入一首歌的代号,并按回车:
if !%%i! LSS 1 echo 错误,请输入正确代码... & ping -n 4 127.0.1 >nul 2>nul & goto tiao
if !%%i! GTR !num! echo 错误,请输入正确代码... & ping -n 4 127.0.1 >nul 2>nul & goto tiao
echo !%%i! >>%temp%\tiao.txt
)
attrib +h +s %temp%\tiao.txt >nul 2>nul
goto kl
:kl
for /f "delims=" %%k in (%temp%\tiao.txt) do (
@ set /a i=%%k
for /f "delims=" %%j in (%temp%\dir\!i!.txt) do @(
echo *************************************************************************
echo =====================欢迎使用dos随机+指定音乐播放器=====================
echo =======================制作人:tianzizhi #cn-dos#========================
echo *************************************************************************
start /min/b /wait mplayer "%%j"
)
)
echo 是否循环这几首歌......
set /p we=y,n:
if %we%==y goto kl
if %we%==n goto tiao