返回列表 发帖
本帖最后由 77七 于 2023-12-13 17:43 编辑
@echo off
rem 1.批处理保存为utf-8编码格式;
rem 2.播放软件:MPV (https://mpv.io/);音量设定:nircmd (http://bcn.bathome.net/tool/nirsoft,2.86/nircmd.exe);均需添加到电脑环境变量。
chcp 65001 >nul
set "folder=D:\mp3"
set /a k=m=0,e=(d=次数=7)*(n=数量=1)
if not exist "%folder%\list.txt" (
cd.>"%folder%\list.txt"
)
:1
setlocal
for /f "useback delims=" %%a in ("%folder%\list.txt") do (
set _"%%a"=1
set /a k+=1
)
if %k% geq %e% (
cd.>"%folder%\list.txt"
endlocal
goto :1
)
for /f "delims=" %%i in ('dir /b /a-d "%folder%\*.mp3" "%folder%\*.flac"') do (
if not defined _"%%i" (
call set #%%random%%=%%i
set /a m+=1
)
)
if %m% lss %n% (
cd.>"%folder%\list.txt"
endlocal
goto :1
)
for /f "tokens=1* delims==" %%a in ('set #') do (
echo 播放 [%%b]
nircmd mutesysvolume 0
nircmd setsysvolume 30000
rem 自行设置播放器
mpv --window-minimized "%folder%\%%b"
nircmd setsysvolume 0
nircmd mutesysvolume 1
>>"%folder%\list.txt" echo %%b
set /a n-=1,1/n 2>nul || exit
)COPY
bat小白,请多指教!谢谢!

TOP

回复 8# yanni_enya


   如果要实现你描述的功能,以我的水平,只会使用第三方命令行工具nircmd 和mpv ,用一个批处理就可完成。(如果每个音频都搭配一个批处理,好像有点失去批处理的魅力了...)
已在4楼更新代码,代码已测试。
bat小白,请多指教!谢谢!

TOP

返回列表