CMD-批处理文件简单随机

use*_*295 3 batch-file range

使用.bat文件,我知道如何用%Random%回显一个随机数.如何设置%Random%的某个随机范围,例如50-100?哦,我有一个在开始时指出的点系统:SET/A MAINSCORE = 0如何设置随机范围编号从MainScore中加/减?谢谢.

Gab*_*osz 7

%RANDOM%返回0和32767之间的数为了缩小这些范围使用模运算符,并且加法或减法,以抵消的结果.例:

@set /a bottomlimit = 50
@set /a upperlimit = 100
@set /a result = %bottomlimit% + %RANDOM% %% (%upperlimit% - %bottomlimit% + 1)
@echo %result%
Run Code Online (Sandbox Code Playgroud)

  • @GaborOrosz你应该在括号内添加`+ 1`,否则永远不会生成上限(模运算符产生的结果比第二个参数低****).尝试使用`bottomlimit = 1`和`upperlimit = 2`来清楚地看到问题. (2认同)
  • 请记住,这只是一个丑陋的例子!如果在其上形成函数,请进行边界检查(`bottomlimit`小于`upperlimit`)或计算分频器的绝对值以允许负限制.此外,如果你的范围大于'%RANDOM%`能力,你需要乘法,或使用多个'%RANDOM%`来扩展边界...... (2认同)