这总是生成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脚本中使用随机?》中的一条评论?。