1. ホーム
  2. windows

[解決済み] Windowsのバッチファイルを別のバッチファイルやプロンプトから呼び出す方法がいくつかあります。どのような場合に、どのような方法で呼び出すのでしょうか?

2023-02-13 18:44:06

質問

Windowsのバッチファイル( called.bat または called.cmd ) は、別のバッチファイルから呼び出すことができます ( caller.bat または caller.cmd ) またはインタラクティブな cmd.exe プロンプトをいくつかの方法で使用できます。

  1. 直接呼び出す。 called.bat
  2. callコマンドを使用した場合。 call called.bat
  3. cmdコマンドを使用。 cmd /c called.bat
  4. startコマンドを使用。 start called.bat

私は、ヘルプテキストに基づいて、意図された使用方法を区別するのに非常に困っています:いつ、どれを使用するか?何が違うのでしょうか?

私は、4 つの可能性すべて (および欠けているものがあればその他) をさまざまな観点から分析した要約レポートに興味があります:それらが適合するように設計されている推奨使用例、プロセス起動、実行コンテキスト、環境、リターンコード処理。

注: 私は Windows XP SP3 を使用しています。

どのように解決するのですか?

  1. バッチ ファイルは、現在の cmd.exe インスタンス (または、たとえばエクスプローラでダブルクリックした場合は、新しい cmd.exe インスタンス) によって実行されます。

  2. 1 と同じで、バッチ/cmd ファイル内で使用されたときのみ効果を発揮します。 バッチファイルでは、'call'なしで、親バッチファイルは終了し、制御は呼び出されたバッチファイルに渡ります。'call'付きは子バッチファイルを実行し、親バッチファイルは次の呼び出しのステートメントで継続します。

  3. 新しい cmd.exe インスタンスでバッチ ファイルを実行します。

  4. Start は、新しいウィンドウで新しい cmd.exe インスタンスでバッチファイルを実行し、呼び出し元は完了を待ちません。