良い一日、
私はまだバッチファイルに少し慣れていないので、C ++とJavaから来て、いくつかのことが異なります...
サブバッチを呼び出すメインバッチがありますが、それが戻ると、else ループに入ります。理由がわかりません。
ユーザーが選択するメイン バッチとオプション:
set /p input=Enter:
if %input%==1 goto check
if %input%==2 goto check
if %input%==3 goto check
if %input%==4 goto delete
if %input%==A call %cd%\subbatch.bat %var1% %var2%\
if %input%==B call %cd%\subbatch2.bat %var1% %var2%
if %input%==C call %cd%\subbatch3.bat %var1% %var2%
if {%input%}=={} (
echo.
echo Please enter a valid option
echo.
pause >nul
) else (
echo %input%
echo.
echo Please enter a valid option
echo.
pause >nul
)
サブバッチに移動し、戻るとelseループに入り、
何が選択されたかを確認するために、else ループに echo %input% を追加しました。
どちらを選択したかに応じて、入力がABまたはCであったことを示しています。
ただし、1-4 または AC 以外のオプションが選択された場合にのみ、else コマンドが作動するようにしたいと考えていました。
試してみたほうがいいでしょう:
if %input% GTR 4 (echo enter valid option)
しかし、私がそうすると、文字はどうなりますか?
文字を比較する方法はありますか?そのような:
if %input% GTR "C" ( ....)