我想在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不被认可。为什么?
答案 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
关键字是该块的一部分。