這段代碼應該是這樣的,如果我按1 - 4它會去的選項1 - 4,如果我按其他東西它會說它不是一個選項。但如果我輸入其他東西,它仍然會進行調試。這個IF NOT語句有什麼問題?
而且我檢查了幾次代碼,我找不到錯誤。我甚至將它與這樣的代碼進行了比較,這些代碼實際上工作正常,我甚至按Ctrl-c Ctrl-v'ed它,它仍然無法工作。
:admin
cls
color %debug%
echo You have accessed the admin debug menu
echo Do what you wan't
echo [1] Set Debug color
echo [2] Set Default color
echo [3] Set Warning color
echo [4] Exit
set /p "lol=> "
IF /i %lol%==1 goto dbg if NOT goto 9
IF /i %lol%==2 goto dfc if NOT goto 9
IF /i %lol%==3 goto wnc if NOT goto 9
IF /i %lol%==4 goto start if NOT goto 9
:dbg
cls
color %debug%
echo Set Debug color
set /p "debug=> "
echo Debug color set to %debug%
color %debug%
pause
goto admin
:dfc
cls
color %debug%
echo Set Default color
set /p "default=> "
echo Default color set to %default%
pause
goto admin
:wnc
cls
color %debug%
echo Set Warning color
set /p "warning=> "
echo Warning color set to %warning%
pause
goto admin
:9
cls
color %warning%
echo This is not a viable option!
ping localhost -n 5 >nul
goto admin
我測試出來,當我鍵入EX 5它仍然去調試。
你的第一個'if'會,修正時,去'dbg'或'9'。它不會執行任何其他比較,因爲執行將轉移到'dbg'或'9'。 – Magoo
請通過在命令提示符窗口中輸入「if /?」來閱讀'if'命令的幫助;你會發現你需要在這裏的'else'子句... – aschipfl