バッチファイルの実行中に、他のバッチファイルを呼び出して実行するコマンドが「CALL」コマンドです。
このコマンドは古いMS-DOS上ではサポートされていませんでした。
したがって当時は、バッチファイルの中からバッチファイルを呼び出すと、その呼び出されたバッチファイルの処理が終了した時点で、すべての処理が終了してしまったのです。
CALLコマンドは、次の書式で利用します。
CALL 呼び出したいバッチファイル名
さて、それでは非常に単純な例文でこれを試してみることにしましょう。
以下のような A.BAT B.BAT のファイルを作成します。
REM File Name A.BAT
@ECHO OFF ECHO ただいまA.BATを実行中です。
ECHO それではここでB.BATを呼び出して処理を受け継ぎます。
CALL B.BAT
ECHO ただいまA.BATに戻ってきました。
REM File Name B.BAT
@ECHO OFF
ECHO ただいまB.BATを実行しています。
ECHO ここでB.BATを終了します。
それでは試しに、A.BATを実行してみてください。
以下のような実行結果が得られると思います。
以下実行結果 ただいまA.BATを実行中です。
それではここでB.BATを呼び出して処理を受け継ぎます。
ただいまB.BATを実行しています。
ここでB.BATを終了します。
いまA.BATに戻ってきました。
いかがですか?ちゃんと表示されましたでしょうか?
このコマンドを覚えることで、バッチファイルの中で別のバッチファイルを生成して実行させるなどと言ったコードな処理を行うことが出来るようになります。
実験
A.BATの
CALL B.BAT
の行を、単に
B.BAT
に変更してみましょう。どのような結果になりましたでしょうか?上記の実行例で示した結果とこの結果の違いを理解しておいてください。