bat中怎樣用Random產生1到10之間的一個隨機數? 當然是用%random%,示例: 獲得一定範圍內的隨機數,用%random%可以產生0到32767之間的隨機數,但是,如何才能得到一定範圍內的隨機數呢?通用的演算法公式如下: 通用的公式%random%%%(max-min+1)+min來產生[ ...
bat中怎樣用Random產生1到10之間的一個隨機數?
當然是用%random%,示例:
@echo off rem 用Random產生1到10之間的一個隨機數 set num=%random% set /a num=num%%10+1 echo %num%
獲得一定範圍內的隨機數,用%random%可以產生0到32767之間的隨機數,但是,如何才能得到一定範圍內的隨機數呢?
通用的演算法公式如下:
通用的公式%random%%%(max-min+1)+min來產生[min,max]區間里的隨機數,最大值和最小值均能取到。註:批處理中求模得用兩個%%符號。
比如,想獲得4到12之間的隨機數,可以這樣:
set numN=%random% set /a numN=numN%%9+4 echo %numN%
為了驗證批量生成隨機數的情況,我加入了延時輸出腳本,每隔1秒輸出一次隨機數:
@echo off rem 用Random產生4到12之間的一個隨機數 :myTimer set numN=%random% set /a numN=numN%%9+4 echo %numN% rem 用choice做輪詢執行,每1秒執行一次,指導11時56分00秒結束 choice /t 1 /d y /n >nul if "%time:~0,8%" == "11:56:00" ( echo 時間到!!! goto myTimerExec ) else ( goto myTimer ) :myTimerExec pause