2011'12.18 (Sun)
バッチファイル豆知識
■Windowsのバッチファイルを使う上で便利な豆知識
・startコマンド と callコマンド
●start バッチファイルから別プログラムを実行する(呼び出したバッチファイルと別スレッド)
※問題1:プログラムに引数を与えられない
●call バッチファイルから別プログラムを実行する(呼び出したバッチファイルと同スレッド)
※問題2:別プログラムがバッチファイルと同じフォルダにあってもフルパスで指定しなければならない
●解決方法
▼問題1 callで別プログラムを呼び出すバッチを作成しておき、それをstartで呼び出す
具体例)callProgram.batをstartProgram.batで3つ呼び出します。
startコマンドでは引数を指定できないため、callProgram.batで引数を与えています。
(1)callProgram.batを下記内容で作成
"C:\otherProgram.exe" "引数1" "引数2"
(2)startProgram.batを下記内容で作成
start callProgram.bat
start callProgram.bat
start callProgram.bat
▼問題2 %~dp0でバッチファイルを実行しているフォルダを取得する
具体例)argsProgram.batと同じフォルダにある別プログラム(otherProgram.exe)をcallコマンドで呼び出します。
(1)argsProgram.batを下記内容で作成
call %~dp0otherProgram.exe
・startコマンド と callコマンド
●start バッチファイルから別プログラムを実行する(呼び出したバッチファイルと別スレッド)
※問題1:プログラムに引数を与えられない
●call バッチファイルから別プログラムを実行する(呼び出したバッチファイルと同スレッド)
※問題2:別プログラムがバッチファイルと同じフォルダにあってもフルパスで指定しなければならない
●解決方法
▼問題1 callで別プログラムを呼び出すバッチを作成しておき、それをstartで呼び出す
具体例)callProgram.batをstartProgram.batで3つ呼び出します。
startコマンドでは引数を指定できないため、callProgram.batで引数を与えています。
(1)callProgram.batを下記内容で作成
"C:\otherProgram.exe" "引数1" "引数2"
(2)startProgram.batを下記内容で作成
start callProgram.bat
start callProgram.bat
start callProgram.bat
▼問題2 %~dp0でバッチファイルを実行しているフォルダを取得する
具体例)argsProgram.batと同じフォルダにある別プログラム(otherProgram.exe)をcallコマンドで呼び出します。
(1)argsProgram.batを下記内容で作成
call %~dp0otherProgram.exe
2008'11.07 (Fri)
2008'10.28 (Tue)