このバッチスクリプトを機能させようとしていますが、いくつかのコマンドで少し問題があります。変数を有効と見なさず、代わりに無効なセクションに送信し続けます。奇妙なことに、コードの別の部分に同じ変数処理セクションがあります。これが私のコードです:
:comp
cls
ECHO.
ECHO =================================================
ECHO Please Select the Device you would like to ping:
ECHO =================================================
SET /P comp="> "
IF /I %comp%==1 goto reg
IF /I %comp%==2 goto reg2
IF /I %comp%==3 goto reg3
IF /I %comp%==4 goto reg4
IF /I %comp%==5 goto reg5
IF /I %comp%==6 goto reg6
IF /I %comp%==7 goto reg7
IF /I %comp%==8 goto reg8
IF /I %comp%==9 goto reg9
IF /I %comp%==0 goto reg0
IF NOT %comp%=='1''2''3''4''5''6''7''8''9''0' goto inval
goto _ping
:inval
cls
ECHO.
ECHO ======================================
ECHO Choice invalid, please try again.
ECHO ======================================
ECHO.
pause
goto comp
:reg
cls
ECHO.
ECHO =========================================================
ECHO Please select the specific you would like to connect to.
ECHO =========================================================
ECHO.
SET /P regi="> "
IF /I %regi%==1 set str3=141
IF /I %regi%==2 set str3=142
IF /I %regi%==3 set str3=143
IF /I %regi%==4 set str3=144
IF /I %regi%==5 set str3=145
IF /I %regi%==6 set str3=146
IF /I %regi%==7 set str3=147
IF /I %regi%==8 set str3=148
IF /I %regi%==9 set str3=149
IF NOT %regi%=='1''2''3''4''5''6''7''8''9''0' goto inval
goto _ping
したがって、最初のセクションが機能し、適切なセクションに送信されます。2番目のセクションは無効な応答セクションであり、3番目のセクションは正確なデバイス(および最後のオクテット)を処理してpingを実行するセクションです。有効な選択肢を入力した場合でも、そうでない場合は、無効なセクションに進みます。助言がありますか?