随机数公式返回相同的批次

时间:2013-03-22 21:48:59

标签: random batch-file cmd

我试图在1和变量之间创建一个随机数,这个变量每次运行时都会改变。我到目前为止使用这个: SET / A result =%random%*%var%/ 32768 + 1

但每次重新运行批处理文件时,它都返回相同的数字,人们知道发生了什么吗?

先谢谢

3 个答案:

答案 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您必须在forif代码块中使用延迟扩展。