【发布时间】:2012-07-20 13:26:06
【问题描述】:
批处理新手。我已将问题范围缩小到我认为如何评估批处理变量。
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 正在被采用,这对我来说毫无意义。
【问题讨论】:
-
在设置变量值并删除 if 条件中的引号时尝试使用“set /a”。现在您可以进行字符串比较了。
标签: time batch-file wait