Windows Batch GEQ无法按预期工作

时间:2015-04-20 15:52:06

标签: batch-file cmd dos

我正在尝试在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.

1 个答案:

答案 0 :(得分:1)

IF "%count%" GEQ "%max%" (

使用引号,您强制if比较字符串,而不是数字,因此2大于19514

而是写:

IF %count% GEQ %max% (