在启用延迟扩展的情况下运行 .bat 文件中的这行代码。
我试过:
set /A Prov=!RANDOM! * 6 / 32768 (Always Equals 5)
set /A Prov=!RANDOM! * 5 / 32768 (Always Equals 4)
set /a Prov=%random% %%6 + 1 (Always Equals 3, except rarely equals 6)
没有其他代码正在写入 Prov,并且它不在循环或 for 中 这可能是什么原因造成的! >,_ <
我希望每次运行命令或批处理文件时它都会给我一个 1 到 6 之间的不同数字,但它总是相同的,即使文件关闭并再次运行也是如此。
这个批处理程序应该可以工作
@echo off
setlocal EnableDelayedExpansion
set "random"
echo #1 !random! !random!
预期产量
未定义环境变量“random”。 #1 13400 3633
您应该收到
set "random"
命令的错误消息。test #1
中得到两个不同的值
不知道为什么会这样,但删除空格解决了我的问题......
而不是: 设置 /a Prov=!随机! * 6 / 32768 + 1
正在做: 设置 /a Prov=!随机!*6/32768+1
这在我的情况下有效,但我不明白为什么这会导致问题?