
[討論]批處理隨機(jī)數(shù)值創(chuàng)建與應(yīng)用是否可以有更好的方案比如用如下代碼,在當(dāng)前目錄放置4首WAV格式的歌曲,分別命名為1.WAV、2.WAV、3.wav、4.wav。可以通過(guò)隨機(jī)數(shù)獲取,實(shí)現(xiàn)分別播放不同歌曲的目的。播放步驟調(diào)用的是Powershell命令,該命令會(huì)在等待歌曲播放結(jié)束才會(huì)繼續(xù)執(zhí)行后面步驟。而通過(guò)獲取EXE進(jìn)程是否存在來(lái)判斷,是否需要繼續(xù)循環(huán)播放歌曲。
如果歌曲名稱(chēng)不想改變,不想定義為數(shù)字,就需要做如下處理:nclick="copycode($('code0'));">復(fù)制代碼
- @shift /0
- @echo off
- cd /d %~dp0
- taskkill /f /t /IM powershell.exe 1>nul 2>nul
- setlocal enabledelayedexpansion
- :run
- set /a music=%random%%%4+1
- if !music!==!music1! (goto run)
- set music1=%music%
- powershell -c (New-Object Media.soundPlayer %music1%.wav).PlaySync();
- tasklist |Find QQ.exe >nul && (goto run)
- exit
那么如果想用DIR方案來(lái)處理,該如何修改,關(guān)聯(lián)批量歌曲文件。nclick="copycode($('code1'));">復(fù)制代碼
- @shift /0
- @echo off
- cd /d %~dp0
- taskkill /f /t /IM powershell.exe 1>nul 2>nul
- setlocal enabledelayedexpansion
- :run
- set /a music=%random%%%4+1
- if !music!==!music1! (goto run)
- set music1=%music%
- if !music1!==1 set music1=等一分鐘.wav
- if !music1!==2 set music1=聽(tīng).wav
- if !music1!==3 set music1=夜貓.wav
- if !music1!==4 set music1=愛(ài)如火.wav
- powershell -c (New-Object Media.soundPlayer %music1%.wav).PlaySync();
- tasklist |Find QQ.exe >nul && (goto run)
- exit

