だからここに私のコードの「そうでない場合」の部分があります:
:open
set/p g=Choice:
if %g%== 1 goto FNVEnd
if %g%== 2 goto KSPEnd
if %g%== 3 goto SKYPEEnd
if not %g%==1|2|3 goto Correct2
:Correct2
cls
echo Welcome.
timeout 3
goto Open
「そうでない場合」の部分を除いてすべてが機能しています。助けてください!
だからここに私のコードの「そうでない場合」の部分があります:
:open
set/p g=Choice:
if %g%== 1 goto FNVEnd
if %g%== 2 goto KSPEnd
if %g%== 3 goto SKYPEEnd
if not %g%==1|2|3 goto Correct2
:Correct2
cls
echo Welcome.
timeout 3
goto Open
「そうでない場合」の部分を除いてすべてが機能しています。助けてください!
ここで正しい答えが得られたかどうかを確認しようとしている場合は、すでにそれを行っているため、失敗することでそれが達成されます。
IF THIS == THAT OR THAT == THIS... が必要な場合は、IF、ELSE を使用する必要があります。
REM :: AND
IF A==A IF B==B GOTO bothtrue
REM :: OR
IF A==A (
GOTO oneorother
) ELSE (
IF B==B GOTO oneorother
)
:bothtrue
ECHO Both were true.
GOTO EOF
:oneorother
ECHO AT least one was true.
その行はまったく必要ありません。ユーザーが 1、2、または 3 を入力しなかった場合は、Correct2 にフォールスルーします。
他の比較でスペースは大丈夫ですか?
これを試してみてください:
:open
set/p g=Choice:
if "%g%"=="1" goto FNVEnd
if "%g%"=="2" goto KSPEnd
if "%g%"=="3" goto SKYPEEnd
REM If we get here ...
cls
echo Welcome.
timeout 3
goto Open