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