關於bat中隨機數的生成方法


在bat/cmd中我們可以使用其內置的變量%random%生成隨機數字,范圍為[0,65535]

 

1、,直接使用echo %random%的方式就可以生成了:

C:\Users\QQ5201351\Desktop>echo %random%
520

C:\Users\QQ5201351\Desktop>echo %random%
1351

 

2、如果需要生成指定范圍內的隨機數,如[min,max],可以采取一種思想,求模(余數)的思想,

    第一步:用max-min+1   如結果為x

    第二步:生成一個0~65535的隨機數,結果為y

    第三步:用y除以x,取余數,那么余數最小為0,最大為上面提到的  (max-min)

    第四步:用求得余數+min,那么,最小的結果就是0+min,最大的結果就是max-min+max

++++++++++++++上面的解釋可能有點繞,可能一下不能很好的理解,舉以一個實例

 

3、生成一個[520,1351]范圍內的隨機數

@echo off 
setlocal enabledelayedexpansion
set min=520
set max=1351
set /a mod=!max!-!min!+1

set /a rand_num=!random!%%!mod!+!min! & echo !rand_num!

 

4、如果要生成指定個數的隨機數、我們可以在上面的基礎上結合for語句實現,如生成6個1到100之間(包括1和100)的隨機數:

@echo off 
setlocal enabledelayedexpansion
set min=1
set max=100
set /a mod=!max!-!min!+1

for /l %%i in (1,1,6) do (set /a rand_num=!random!%%!mod!+!min! & echo !rand_num!)

 

 

 

尊重別人的勞動成果 轉載請務必注明出處:https://www.cnblogs.com/5201351/p/13734617.html

 


免責聲明!

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



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