我试图在1和变量之间创建一个随机数,这个变量每次运行时都会改变。我到目前为止使用这个: SET / A result =%random%*%var%/ 32768 + 1
但每次重新运行批处理文件时,它都返回相同的数字,人们知道发生了什么吗?
先谢谢
答案 0 :(得分:1)
请改为尝试:
set /a result=(%random% %% %var%) + 1
答案 1 :(得分:1)
您无需在var
命令中将SET /A
括在百分号中;这个表格应该解决与块内外正常扩展相关的所有问题:
SET /A result=%random%*var/32768+1
但是,如果上一个命令是 一个块,则应该为此更改它(并启用延迟扩展):
SET /A result=!random!*var/32768+1
如果以前的解决方案仍然不起作用,我可以打赌你正在定义一个名为random
的变量!这样可以防止在内部创建%random%
并始终返回您分配给它的值。
安东尼奥
答案 2 :(得分:0)
IMO您必须在for
或if
代码块中使用延迟扩展。