バッチファイルで複数のアプリケーションを順番に実行したいとき、「前のアプリが完全に終わってから、次のアプリを起動させたい」ということはありませんか?
普通に START コマンドを使うと、アプリの起動だけを。行ってすぐに次の行の処理に進んでしまいます。
そんなときに便利なのが START /WAIT オプションです。
START /WAIT の基本設定
START /WAIT を使うと、指定したアプリケーションが終了するまで、バッチファイルの次の処理を一時停止(待機)させることができます。
基本の書き方
DOS
START /WAIT アプリケーションのパス
このように記述することで、上から順番にアプリの終了を待って列挙していくことが可能です。
DOS
@echo off
rem 1つ目のアプリが終了するまで待つ
START /WAIT C:\Path\To\App1.exe
rem 2つ目のアプリが終了するまで待つ
START /WAIT C:\Path\To\App2.exe
rem 3つ目のアプリが終了するまで待つ
START /WAIT C:\Path\To\App3.exe
echo すべてのアプリケーションが終了しました。
pause
💡 ここがポイント:普通の「START」や「CALL」との違い
バッチファイルで他のプログラムを呼び出す方法はいくつかありますが、それぞれの挙動の違いを整理しておきましょう。
| コマンド | アプリの終了を待つか? | 特徴・主な用途 |
START |
❌ 待たない | アプリを「起動するだけ」。すぐに次の行を実行する。 |
START /WAIT |
⭕ 待つ | 別ウィンドウでアプリを開き、それが閉じるまで待つ。 |
CALL |
⭕ 待つ | 主に**別のバッチファイル(.bat)**を呼び出して実行する。 |
⚠️ 注意点
CALLも終了を待ちますが、これは基本的に「同じコマンドプロンプトの画面内」で別のスクリプトを実行するためのものです。独立した外部アプリケーション(EXEファイルなど)を確実に制御したい場合は、
START /WAITを使うのが安全です。
まとめ
-
画面を閉じさせずに順番に処理したいなら
START /WAIT -
とにかく同時にたくさん起動したいなら
START
処理の自動化やインストーラーの連続実行など、順番が重要なバッチファイルを作る際はぜひ活用してみてください!
