2016-10-19 3 views
0

BATで乱数を条件にしたいと思っています。数字が10より小さい場合は何かを実行したい、そうでなければ他のものを実行するが、下のコードは動作していない。バットスクリプトと乱数で条件付きを作る方法

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

なぜこれが機能しないのですか?

EDIT:SO FAR私はこれを得た

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

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

問題は、WindowsがELSE言っている認識されないということです。どうして?あなたが好きな、set /Aコマンドで事前に数学を行う必要があり

答えて

0

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

は次にように、結果を比較する:あなたの仕事にif/elseブロックについて

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

必要があります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キーワードがそのブロックの一部だと思う。

関連する問題