VBS(VBScript)からバッチファイル(BAT)を実行する場合は、WScript.Shell の Run メソッドを使用します。
今回は、VBSからBATファイルを実行してみました。
1.VBSからBATを実行する
以下のVBSを作成します。
Dim WS
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run "C:\hogehoge\test.bat"Run メソッドに、実行したいBATファイルのパスを指定します。
例えば、以下のような構成にします。
C:\hogehoge\
├─ start-bat.vbs
└─ test.bat
start-bat.vbs を実行すると、test.bat が起動します。
1-1.BATの処理が完了するまでVBS側の処理を待機させる場合
BATの処理が完了してからVBSの次の処理を実行したい場合は、Run の第3引数に True を指定します。
Dim WS
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run "C:\hogehoge\test.bat", 1, True
MsgBox "BATの処理が完了しました。"True を指定すると、BATの処理が完了するまでVBS側の処理が待機します。
1-2.BATの画面を表示させないようにする場合
BATを実行するときにコマンドプロンプトの画面を表示したくない場合は、第2引数に 0 を指定します。
Dim WS
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run "C:\hogehoge\test.bat", 0, Trueこの場合、BATを画面に表示せずに実行できます。
4.まとめ
今回は、VBSからBATファイルを実行してみました。
基本的には WScript.Shell の Run メソッドを使用するだけです。
WS.Run "C:\hogehoge\test.bat"また、引数を指定することで、
- BATの画面を表示する・しない
- BATの処理が完了するまで待つ
といった動作も指定できます。
VBSとBATを組み合わせることで、Windows上の定型作業を自動化できます。


