@REM 產生10個[4,12]間的隨機數 @echo off REM 啟用延遲環境變量擴展 setlocal enabledelayedexpansion REM 設置隨機數的最小和最大值以及求模用的變量 set min=4 set max=12 set /a mod=!max!-!min!+1
for /l %%i in (1,1,10) do ( REM 產生[min,max]之間的隨機數 set /a r=!random!%%!mod!+!min! echo. echo 隨機數%%i:!r! )
三、其它實例
實例①:常用功能 生成1到100之間的隨機數
復制代碼 代碼如下:
set /a RandomNumber=%random%%%100+1 ::100是范圍數,1是底數即開始的數.(在bat 中使用),在CMD中會出錯. ::取隨機兩位數 set /a d=%random:~0,2% echo %d% ::避免00 set /a e=1%random:~0,2%-100 echo %e% @echo off :loop set /a RandomNumber=1%random:~-1%%random:~-1%-99 ::最大值100 if %RandomNumber% LSS 35 goto loop ::小于35返回 if %RandomNumber% GTR 75 goto loop ::大于75返回 echo %RandomNumber% if "%RandomNumber%" == "50" pause goto loop
實例②:隨機獲取文件名
復制代碼 代碼如下:
@echo off if "%1" NEQ "$" ( for /f "tokens=1,2 delims=:" %%a in ('"%~0" $^|sort') do @echo %%b ) else for /f "delims=" %%i in ('dir /b /a-d *.mp3') do @call :sub %%i goto :EOF:sub echo %random%:%* goto :EOF