
バッチファイルで.exeファイルを実行する際に、startコマンドとcallコマンドを使う方法をご存知ですか?これらのコマンドは一見似ていますが、実行のタイミングや挙動に違いがあります。本記事では、これらのコマンドの使い方と違いを詳しく解説します。
exeファイルを実行するコマンド
バッチファイルで.exeファイルを実行するには、主に以下のコマンドを使用します。
- startコマンド
- callコマンド
これらのコマンドにはそれぞれ特徴があり、用途に応じて使い分ける必要があります。
startコマンドの使い方
startコマンドは、新しいコマンドプロンプトウィンドウを開いて指定したプログラムを実行します。
基本構文:
start "" "実行したいプログラムのパス"ポイント:
- ウィンドウタイトルを指定するために、最初の
""は空にしておきます。 - フルパスを指定する場合は、ダブルクォーテーションでパスを囲みます。
例:
start "" "C:\Program Files\Microsoft Office\root\Office16\excel.exe"
start "" "C:\Program Files\Microsoft Office\root\Office16\winword.exe"公式ドキュメント:
callコマンドの使い方
callコマンドは、現在のバッチファイルの実行を一時停止し、指定したプログラムやバッチファイルを実行します。
基本構文:
call "実行したいプログラムのパス"ポイント:
- プログラムの実行が終了するまで、次のコマンドは実行されません。
- 一部のWindows標準プログラムはパスを指定しなくても実行可能です。
例:
call "C:\Program Files\Microsoft Office\root\Office16\excel.exe"
call "C:\Program Files\Microsoft Office\root\Office16\winword.exe"公式ドキュメント:
startとcallの違い
| 特徴 | startコマンド | callコマンド |
|---|---|---|
| 実行タイミング | 非同期(次のコマンドもすぐに実行される) | 同期(プログラム終了まで次のコマンドは実行されない) |
| 複数プログラムの同時実行 | 可能 | 不可(順次実行) |
| エラーハンドリング | エラーが発生しても次のコマンドを実行 | エラーが発生すると次のコマンドは実行されない |
| 主な用途 | 複数のプログラムを同時に起動したい場合 | プログラムを順番に確実に実行したい場合 |
実際のバッチファイル作成例
1. start.batの作成

内容:
start "" "C:\Program Files\Microsoft Office\root\Office16\excel.exe"
start "" "C:\Program Files\Microsoft Office\root\Office16\winword.exe"結果:
- ExcelとWordが同時に起動します。
2. call.batの作成

内容:
call "C:\Program Files\Microsoft Office\root\Office16\excel.exe"
call "C:\Program Files\Microsoft Office\root\Office16\winword.exe"結果:
- Excelを閉じると、次にWordが起動します。
よくある質問(Q&A)
Q1: startコマンドでプログラムを非表示で実行できますか?
A1: はい、startコマンドに/Bオプションを付けることで、ウィンドウを表示せずにプログラムを実行できます。
start /B "" "実行したいプログラムのパス"Q2: callコマンドで複数のプログラムを同時に起動する方法はありますか?
A2: callコマンド自体は同期的に動作するため、同時起動はできません。同時に起動したい場合は、startコマンドを使用してください。
Q3: パスにスペースが含まれる場合の対処法は?
A3: パス全体をダブルクォーテーションで囲むことで対応できます。
start "" "C:\Program Files\Example\program.exe"Q4: startとcall以外で.exeファイルを実行する方法はありますか?
A4: .exeファイルを直接バッチファイル内で指定することで実行可能ですが、エラー処理や制御が難しくなるため、startやcallの使用をおすすめします。
まとめ
バッチファイルで.exeファイルを実行する際は、startコマンドとcallコマンドを用途に応じて使い分けましょう。
- 同時に複数のプログラムを起動したい場合:
startコマンドが適しています。 - プログラムを順番に確実に実行したい場合:
callコマンドを使用します。
Tamaglo最後までお読みいただきありがとうございます。
コメント
※ コメントは確認後に公開されます。反映まで少し時間がかかる場合があります。