scr*_*e02 2 if-statement batch-file
根据我的代码,如果%~1大于7000,请转到ExceedError
IF "%~1" GTR "7000" GOTO ExceedError
Run Code Online (Sandbox Code Playgroud)
内容ExceedError:
ECHO Value exceeded the maximum value. See help file.
EXIT /B
Run Code Online (Sandbox Code Playgroud)
但这发生了:
...modules>If "71" GTR "7000" GOTO ExceedError
...modules>Echo Value exceeded the maximum value. See help file.
Value exceeded the maximum value. See help file.
...modules>exit /B
Run Code Online (Sandbox Code Playgroud)
发生了什么?有什么不对?
你用双引号括起来的参数,这会强制进行字符串比较.比较数字尝试没有引号:
IF %~1 GTR 7000 GOTO ExceedError
如果您想要防止错误,可以再添加一行:
set /a "_number=%~1" >nul 2>&1 || set "_number=0"
IF %_number% GTR 7000 GOTO ExceedError
Run Code Online (Sandbox Code Playgroud)
如果输入错误,您将使用0默认值比较这些值.如果需要,您可以更改它
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |