一連のコマンドを実行する MS DOS バッチ ファイルを作成しました。
各コマンドは、いくつかの特定のパラメーターを使用してプログラムを呼び出します。これを自動化するために、すべてのコマンドを組み合わせました。
バッチファイルの構造は次のとおりです。
@echo off
if %1 == "b1" (
command 1
command 2
command 3
....
) else (
command a
command b
command c
)
以下に示すように呼び出します。
test.bat b1
b1 を引数としてバッチ ファイルに渡すと、コマンド 1、コマンド 2、コマンド 3 という一連のコマンドが処理されます。
同様に、else セクションで説明した一連のコマンドを実行する場合は、別の引数を渡します。
test.bat abc
バッチ ファイルに渡された引数が b1 と等しくないため、バッチ ファイルの else セクションの実行が開始されます。ここで渡す引数 (この場合は abc) は、コマンド a、コマンド b、コマンド c などでパラメーターとして必要です。
これはすべてかなりうまく機能します。
ただし、私が直面している問題は、(Ctrl + C を押して) バッチ ファイルを途中で終了したい場合、次のオプションが表示されないことです: Do you want to Terminate the Batch operation? はい/いいえ
たとえば、バッチ ファイルが else セクションで一連のコマンドを処理しているとします。現在、コマンド a を実行しているとします。Ctrl + C を押すと、操作をキャンセルするプロンプトが表示される代わりに、コマンド a の実行がキャンセルされ、コマンド b が自動的に続行されます。もう一度 Ctrl + C を押すと、コマンド b がキャンセルされ、コマンド c に進みます。
一方、バッチファイルを次のように記述すると、次のようになります。
@echo off
command a
command b
command c
コマンドラインから次のように呼び出します。
test.bat abc
これで、バッチ ファイルの実行中に Ctrl + C を押すと、期待どおりにバッチ操作をキャンセルするように求められます。
バッチ ファイルに条件ステートメントを追加すると、Ctrl + C の機能が何らかの形で変更されたようです。
この問題を解決するにはどうすればよいですか?
ありがとう。