试图在批处理文件中生成介于65和67之间的随机数



这总是生成83,既不是随机的,也不在所需范围内:

set /a result=(%random%*67/32768)+65

这会生成随机数,但仍然不在我想要的范围内:

set /a result=%random% %% 67+65

这会产生随机数,所有这些数字看起来都是负数,覆盖范围很广:

set /a result=%random% %% 67-65

这些是我通过谷歌搜索找到的选项。

在命令行上是:

set /a _test=(%RANDOM% % 3) + 65

在批处理文件中,它是:

set /a _test=(%RANDOM% %% 3) + 65

对于65-67的特定情况,您可以使用:

SET /A result=%RANDOM% * 3 / 32768 + 65

一般公式为:

%RANDOM% * (%MAX% - %MIN% + 1) / 32768 + %MINIMUM%

改编自《如何在BATCH脚本中使用随机?》中的一条评论?。

最新更新