用Random產生1到10之間的一個隨機數


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM