1

だからここに私のコードの「そうでない場合」の部分があります:

: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

「そうでない場合」の部分を除いてすべてが機能しています。助けてください!

4

2 に答える 2

0

ここで正しい答えが得られたかどうかを確認しようとしている場合は、すでにそれを行っているため、失敗することでそれが達成されます。

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.
于 2013-08-04T19:25:37.920 に答える
0

その行はまったく必要ありません。ユーザーが 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
于 2013-08-04T19:14:17.403 に答える