メモの日々


2012年03月14日(水) [長年日記]

[windows] バッチプログラム内でバッチプログラムを呼び出す

Windowsでantコマンドを複数回呼び出すバッチプログラムを作ったが、1回目のantコマンドしか実行してくれない。

調べると、バッチプログラムからバッチプログラムを呼び出したときは制御が戻ってこない仕様みたい。制御を戻してほしい時はcallコマンドを使えばいいようだ。

コマンドライン リファレンスからcallコマンドの説明を引用。

Call
親バッチ プログラムを停止せずに、あるバッチ プログラムから別のバッチ プログラムを呼び出します。call コマンドでは、ラベルを呼び出し先として使用できます。Call は、スクリプトまたはバッチ ファイル以外で使用した場合は、コマンド ラインで効力を生じません。
構文
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]