在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
原文:https://www.cnblogs.com/5201351/p/13734617.html