0
找不到问题每当我只输入1,就会发生错误,它说(此时意外),但只要输入其他数字,只要它有2个小数的地方,也没关系。If语句(此时意外
@echo off
cls
setlocal EnableDelayedExpansion
echo|set /p= Input:
set /p input=
call :process
endlocal
goto :EOF
:process
if %input%==0 (
echo Input is 0
goto :EOF
)
if %input:~-3,1%==. (
if %input:~0,-3%==0 (
echo Less than 1
) else (
echo Greater than 1
)
) else (
echo Equal to 1
)
goto :EOF
删除'@echo off'并观察输出 - 你会清楚地看到,是什么问题。 – Stephan
我明白了。谢谢〜 出现错误,因为参数不完整。 –
是的。为避免出现这种语法问题,请将等号的两边加上双引号:'if“%input%”==“0”('。这不会解决任何逻辑故障,但会使批处理语法错误崩溃因为如果%input%为空,则该行被转换为“if”“==”0“(而不是'if == 0(' – Stephan