このコードは、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
私はそれをテストし、私がex5を入力すると、それでもデバッグに行きます。
を修正したときにあなたの最初の 'if'は、' dbg'または '9'に行きます。実行は 'dbg'または' 9'のいずれかに転送されるため、他の比較は実行されません。 – Magoo
コマンドプロンプトウィンドウに 'if /?'とタイプして 'if'コマンドのヘルプを読んでください。あなたはここに必要な 'else'節を見つけるでしょう... – aschipfl