【发布时间】:2021-02-13 20:46:30
【问题描述】:
所以我一直在尝试编写以下代码:
set /a num1=10
set /a num2=%random% %%60 +%num1%
echo %num2%
(这是简化的)
对于此代码,我需要将 +%num1% 作为变量,因为我需要能够更改最小的数字。
出于某种原因,它没有给我一个随机数,而是给了一个完全不相关的数字,这也不是随机的,但每次都是一样的。我的第一个想法是它可能是添加第二个变量而不是制作随机数。但事实并非如此,我不确定如何解决此问题。
我也试过下面的代码:
set /a num1=10
set /a num2=(%random%*60/32768)+%num1%
echo %num2%
这段代码的问题是,即使没有变量,它似乎也永远无法作为随机发生器工作。
感谢任何帮助。
【问题讨论】:
-
我想你可以在这里应用答案stackoverflow.com/a/5777608/2894590
-
批处理很有趣,所以你可能需要空格并且不要使用括号。
-
您应该使用
+ num1,而不是+%num1%。例如set /a "num2=(%RANDOM% %% 60) + num1" -
另外,哪个版本的 windows?由于早期版本的工作方式不同。
-
@CookieButter 我有最新版本的 Windows 10... 也许我输入错误。我也相信这可能有效,我会尝试的。
标签: batch-file