如何使用bat脚本和随机数

时间:2016-10-19 12:27:39

标签: windows batch-file

我想在BAT中使用随机数作为条件。如果数字小于10,我想执行某些操作,否则执行其他操作,但下面的代码无效。

IF %RANDOM% * 100 / 32768 + 1 GEQ 10 start program1.exe
ELSE start program2.exe

为什么这不起作用?

编辑:

我很快就知道了:

SET /A numero_aleatorio=%RANDOM%*100/32768+1

IF %numero_aleatorio% GEQ 50 (start firefox1.exe)
ELSE (start firefox2.exe)

问题是窗户说ELSE不被认可。为什么?

1 个答案:

答案 0 :(得分:0)

您需要事先通过set /A命令进行数学计算,例如:

set /A numero_aleatorio=%RANDOM%*100/32768+1

然后比较结果,如:

if %numero_aleatorio% GEQ 10 (start program1.exe) else (start program2.exe)

要使if / else块生效,您必须在与else相同的行中声明)子句。以下内容将提供与上述相同的结果:

if %numero_aleatorio% GEQ 10 (
    start program1.exe
) else (
    start program2.exe
)

或者这个:

if %numero_aleatorio% GEQ 10 (start program1.exe
) else start program2.exe

else之前的条件命令块必须在括号内,否则解析器不知道它的结束位置并认为else关键字是该块的一部分。