たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

バッチファイル_バッチファイルから別のバッチファイルを実行【Call】

【Call】コマンドを使用してバッチファイルから別のバッチファイルを実行

どんなケースで使用できるのか

敢えてバッチファイルを分けたいとき
複数のバッチ処理が存在するなかで、共通で使用するバッチファイルがある場合(そんなことあるのかね…)

【記述例】呼ぶ側のバッチファイル

▼記述例▼

rename  %USERPROFILE%\Desktop\ken_all\KEN_ALL.csv KENKEKEN_ALL.csv
timeout 3 > null
call C:\Users\user\Desktop\tama-shi\bat\rename.bat
timeout 3 > null
rename %USERPROFILE%\Desktop\ken_all\KEEEEEEEN_ALL.csv KEN_ALL.csv

3行目のように、callコマンドの後に呼びたいバッチのフルパスを記述,、なんとなく3秒ずつ間に入れたが深い意味なし

【記述例】呼ばれる側のバッチファイル

▼記述例▼

rename %USERPROFILE%\Desktop\ken_all\KENKEKEN_ALL.csv KEEEEEEEN_ALL.csv
timeout 3 > null
exit /b

オプション「/b」をいれないと、呼んだ側のバッチのcallの後の処理が行われずに
コマンドプロンプト画面もろとも終了する(つまりファイル名が「KEEEEEEEN_ALL.csv」で終わる)
上述の例のようにrenameバッチをつくらずとも、echoコマンドを使用するなどして実行を試して遊んでみるとよい

▼よくわかる解説▼
コマンドプロンプト | コマンドプロンプトまたはバッチファイルを終了(EXIT)