我正在尝试在Windows批处理脚本中使用GEQ(大于或等于)。 我有一个IF子句测试
if %count% GEQ 10
同时计算每次通过的%count%。我原本预计十次通过后情况才会成真。但是,运行两次后,条件为真,而%count%为2。
如果我用==替换GEQ,它按预期工作,显示最多十次的通过次数并退出。在这一点上,我真的不明白我的思维错误在哪里。请给我一个单挑。
代码:
@ECHO OFF
SETLOCAL
CLS
ECHO.
SET /a max = 10
ECHO This should run %max% times:
:REPEAT
set /a count = "%count%"+1
ECHO Test %count%
IF "%count%" GEQ "%max%" (
GOTO :QUIT
) ELSE (
GOTO :REPEAT
)
:QUIT
ECHO.
ECHO Done.
答案 0 :(得分:1)
IF "%count%" GEQ "%max%" (
使用引号,您强制if
比较字符串,而不是数字,因此2
大于19514
而是写:
IF %count% GEQ %max% (