0

バッチの新機能。問題をバッチ変数の評価方法に絞り込んだと思います。

setlocal enableextensions enabledelayedexpansion
set timelimit=30
for /F "USEBACKQ tokens=4,6,8" %%a in (`systeminfo ^| qgrep -e "System Up Time:"`) do set /A timepassed=%%a*24*60+%%b*60+%%c

IF "!timepassed!" LEQ "%timelimit%" (

echo %timelimit%

) ELSE (

echo !timepassed!

)

実行すると、バッチが !timepassed! を出力することを期待しています。(現在は 1250) ただし、常に %timelimit% (30) を出力するため、LEQ IF が使用されていると思われるため、意味がありません。

4

1 に答える 1

1

提案されているように、コードで次の変更を試してください

/Aオプションを使用して変数値を設定します

set /a timelimit=30

値を比較します

IF !timepassed! LEQ !timelimit! (
于 2012-07-23T12:13:23.893 に答える