VBSからバッチファイル(BAT)を実行する方法

VBS VBS
この記事は約2分で読めます。

VBS(VBScript)からバッチファイル(BAT)を実行する場合は、WScript.ShellRun メソッドを使用します。

今回は、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.ShellRun メソッドを使用するだけです。

WS.Run "C:\hogehoge\test.bat"

また、引数を指定することで、

  • BATの画面を表示する・しない
  • BATの処理が完了するまで待つ

といった動作も指定できます。

VBSとBATを組み合わせることで、Windows上の定型作業を自動化できます。