Windowsコマンド虎の巻

call

callは、バッチプログラムやラベル呼び出すコマンドです。

解説

callは他のバッチプログラムを呼び出すときに使用します。

callを使用して呼び出すと同期実行になります。

構文

(構文)
CALL <実行するバッチ> [パラメータ...]
【オプション】
オプション説明
/?コマンドのヘルプを表示する

サンプル

バッチファイル「test.bat」を引数なしで呼び出す

C:¥>call test.bat

バッチファイル「calc.bat」を引数ありで呼び出す

C:¥>call calc.bat 2 3 6

calc.batは、以下バッチプログラムを想定しています。

(calc.bat)

@echo off setlocal rem 引数1x引数2の結果を表示する set /a x = %1 * %2 echo %x%

ラベルをcallで呼び出す

ラベルをcallコマンドで呼ぶこともできます。

ラベルをcallで呼ぶサンプル

(test.bat)

@echo off call :HOGE echo りんご pause exit :HOGE echo みかん

(実行例)

C:¥>test.bat みかん りんご

ラベルを呼び出すにはcallコマンドの他に、goto コマンドが使用できます。
違いは callの場合はラベルの処理が終了したら処理が戻ってきますが、
gotoの場合はラベルの処理が終了しても処理は戻ってこないという違いがあります。

備考

  • callを使わないでバッチファイル名のみを指定しても実行できますが、
    callを使って呼び出すと同期呼び出しとなり、使わないと非同期呼び出しとなります。

関連項目

  • goto:バッチプログラム内で指定した箇所(ラベル)へ制御を飛ばす
  • cscript:スクリプトファイル(VBScript等)を実行する
  • start:新規にコマンドプロンプトを開く