2012-07-20 140 views
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正在被採用,這對我來說毫無意義。

+5

比較嘗試用 「設置/ A」當你設置變量值並且在if條件中刪除引號時。現在你有了字符串比較。 – npocmaka 2012-07-20 13:42:39

回答

1

的建議,嘗試在你的代碼以下更改

使用/A選項

set /a timelimit=30 

設置變量值和值與

IF !timepassed! LEQ !timelimit! (