【发布时间】:2015-12-10 19:23:03
【问题描述】:
我知道 set zeroThroughNine=%Random%*9/32768 后跟 echo %zeroThroughNine% 将产生一个介于 0 和 9 之间的随机数。但似乎解释器不会在每次调用变量时评估它的内容,并且作为例如,echo %zeroThroughNine% 每次都会产生 7 个。
我查找了一种使用变量运行命令的方法,以便我可以尝试强制它工作。我喜欢这个问题,因为它的方法非常基础。类似于“如何使用变量运行命令?”的内容,适当地标记。我不太关心答案,因为它非常狭窄。投票和选择的最高答案是:
简单。只需运行
set commandVar=echo "Hello world.",然后运行echo %commandVar%。
当然,事实是这只适用于 echo 命令。 >:[
无论如何,我会停止抱怨。这是我尝试过的:
set zeroThroughNine=set /a number=%Random%*9/32768 & echo %number%后跟echo %zeroThroughNine%
不幸的是,我的 SET 命令的 & echo %number% 部分立即运行,产生“%number%”作为输出——例如,使用echo %zeroThroughNine% 产生“set /a number=8436*9/32768”作为输出。
所以有两个问题:如何使用变量(或一些替代方法)普遍实现运行命令,也许更紧迫的是,如何在每个新命令调用时在命令行产生一个新的随机数?
【问题讨论】:
标签: windows variables random command-line command-prompt