※この記事は「2024年1月25日」に更新しました。
start と call の違い を解説します。
どちらも別のバッチファイルを呼び出したりすることができます。
記事を書いている管理人の経歴は、以下の通りです。
- 基本情報技術者資格所有者(ソフト開発の国家資格)
- WordPress歴、10年以上
- Withマーケ会員(2022年10月入会)
目次
start と call の違い
start と call の違いです。
それぞれのコマンドを解説していきます。
startコマンド
startコマンドは、別ウィンドウでプログラムを実行するためのものです。
start [オプション] プログラム名
オプションには、以下のようなものがあります。
- /max
- 窓を最大化して起動する。
- /min
- 窓を最小化して起動する。
- /b
- 新しいウィンドウを開かずにプログラムを起動する。
- /d
- プログラムを実行するパスを指定する。
- /wait
- 起動したプログラムが終了するまで待つ。
callコマンド
callコマンドを使えば、他のバッチファイルを起動することができます。
call バッチファイル名
違いは新しいプロセスとしてバッチファイルを呼び出すかどうか
startコマンドと callコマンドは、非常によく似ています。
大きな違いは新しいプロセスとしてバッチファイルを呼び出すかどうかです。
startコマンドは、新しいプロセスとしてバッチファイルを呼び出す ため、並列処理をする場合にも使います。
それに対して、callコマンドは、呼び出したバッチファイルが終了するまで処理を待ちます。
複数プログラムを一度に起動するバッチファイル
複数プログラムを一度に起動するバッチファイルを紹介します。
複数フォルダを一度にエクスプローラで起動する
複数フォルダを一度にエクスプローラで起動するバッチファイルです。
@echo off rem エクスプローラで複数フォルダを最小化して開く start "" /min "C:\Users\Owner\Documents" start "" /min "C:\Users\Owner\Pictures"
私の環境で作成したものなので、自分の環境にあわせてアレンジしてみて下さい。
このようなバッチファイルを作成して、デスクトップにでもショートカットを作成しておけば、フォルダを一度に開くことができます。
startコマンドは、一つ目の “”(ダブルクォーテーション)をウィンドウのタイトルとして認識します。
複数アプリを一度に起動する
複数アプリを一度に起動するバッチファイルです。
@echo off rem 複数アプリを一度に起動する(IE、Chrome) start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" start "" "C:\Program Files\Internet Explorer\iexplore.exe"
アプリの実行ファイルのパスを指定することで複数アプリを一度に起動することができます。
別のバッチファイルを呼び出す
別のバッチファイルを呼び出すバッチファイルです。
まずは、呼び出し側のバッチファイル sample1.bat のソースコードです。
@echo off echo 別のバッチファイルを呼び出します。 call sample2.bat echo 別のバッチファイルから戻りました。 pause > nul
次に呼び出される側のバッチファイル sample2.bat のソースコードです。
@echo off echo これは、sample2.bat というバッチファイルです。
実行結果は、以下の通りです。
最後に【start と call の違い】
今回は、start と call の違いを紹介しました。
どちらもバッチファイルで使うことが多いコマンドです。
違いを理解して、上手に使っていきましょう。