startとcallの違い【バッチファイル】

※この記事は「2024年1月25日」に更新しました。

start と call の違い を解説します。

どちらも別のバッチファイルを呼び出したりすることができます。
タカフミ
記事を書いている管理人の経歴は、以下の通りです。
  • 基本情報技術者資格所有者(ソフト開発の国家資格)
  • WordPress歴、10年以上
  • Withマーケ会員(2022年10月入会)

start と call の違い

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 というバッチファイルです。

実行結果は、以下の通りです。

callコマンド

最後に【start と call の違い】

今回は、start と call の違いを紹介しました。

どちらもバッチファイルで使うことが多いコマンドです。

違いを理解して、上手に使っていきましょう。