プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Windows、バッチファイルからバッチファイルを呼び出す方法あれこれ
バッチファイルから他のバッチファイルを呼び出したいときがあります。
別に難しいことは何もないのですが、
油断し過ぎるとたまにハマるのでご注意下さい(--)b

よくある呼び出し方としてはこんな感じでしょうかφ(--)

1.「call」コマンドを使う
  call test02.bat

2.「start」コマンドを使う
  start test02.bat

3.そのままバッチファイル名を直接指定
  test02.bat


「call」はtest02.batの終了を待って続きの処理を行います。

◆test01.bat
  echo 01
  
call test02.bat
  echo 03


◆test02.bat
  REM pingはsleep代わり
  ping localhost -n 60 > nul
  echo 02


とかやると

01
02
03

ってな順で表示されます。

「start」はtest02.batの終了を待たないで続きの処理を行います。
てかtest02.bat自体を別プロセスで起動します。

◆test01.bat
  echo 01
  
start test02.bat
  echo 03


◆test02.bat
  REM pingはsleep代わり
  ping localhost -n 60 > nul
  echo 02


とかやると

01
03
02(別ウィンドウ)

ってな順で表示されます。

そのままバッチファイル名を直接指定は・・
呼び出したバッチが終了した時点で処理が終わります

◆test01.bat
  echo 01
  test02.bat
  echo 03


◆test02.bat
  REM pingはsleep代わり
  ping localhost -n 60 > nul
  echo 02


とかやると

01
02

ってな順で表示されます。
03は表示されません。

横着してバッチファイル名のみ書きたくなりますが
将来的にバグを埋め込みたくなければ
取りあえず「call」か「start」はつけておく方が無難です。

私は

  echo test02start

  test02.bat

  echo test02end
  echo test03start

  test03.bat

  echo test03end


とか書いてしまって2分くらい悩みました(つд`)
「なんでtest03動かないんだ?!」って。
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:コマンド/バッチ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事