用Random产生1到10之间的一个随机数
程序员文章站
2022-05-29 10:33:12
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