在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
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!