这是我遇到过的最奇怪的错误。虽然我已经看到了:批次无效数字错误?
Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
错误一百万次,我不明白什么是错,此代码:
if "%ss%" == "00" (
set /a 3n%1+=%3
set /a 3n%1+=%4
)
这给:
C:\Users\...>if "00" == "00" (
set /a 3n2+=1
set /a 3n2+=3
)
Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
我可以”不知道为什么会发生这种情况。
注:即使当表达式为假,错误依然闪光。
我不认为你发布的代码可能会产生错误,如果IF条件是错误的。该错误消息仅在执行SET/A命令时生成,如果表达式为false,则不会发生该错误消息。该语句总是被解析,但只有在条件为真时才会执行。 – dbenham