Windows 批处理 GEQ 未按预期工作
Windows Batch GEQ not working as expected
我正在尝试在 Windows 批处理脚本中使用 GEQ(大于或等于)。
我有一个 IF 子句测试
if %count% GEQ 10
每次通过都数 %count% 个。我曾预计十次通过后条件为真。但是,运行两次后,条件为真,而%count%为2.
如果我将 GEQ 替换为 ==,它会按预期工作,显示最多 10 次并退出。我真的不明白我的思维错误在哪里,在这一点上。请给我提个醒。
代码:
@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.
IF "%count%" GEQ "%max%" (
通过使用引号,您强制 if
比较字符串,而不是数字,因此 2
大于 19514
改为:
IF %count% GEQ %max% (
我正在尝试在 Windows 批处理脚本中使用 GEQ(大于或等于)。 我有一个 IF 子句测试
if %count% GEQ 10
每次通过都数 %count% 个。我曾预计十次通过后条件为真。但是,运行两次后,条件为真,而%count%为2.
如果我将 GEQ 替换为 ==,它会按预期工作,显示最多 10 次并退出。我真的不明白我的思维错误在哪里,在这一点上。请给我提个醒。
代码:
@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.
IF "%count%" GEQ "%max%" (
通过使用引号,您强制 if
比较字符串,而不是数字,因此 2
大于 19514
改为:
IF %count% GEQ %max% (