Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

VBScript 同じ名前のバッチを非表示で実行する方法(VBS)

VBScript で、同じベース名(拡張子を除いたファイル名)のバッチファイルを非表示で実行する方法を書いていきます。

1. ファイルの作成

フォルダに、同じベース名の VBS と BAT ファイルを用意します。

今回の例では、test.vbstest.bat を作成しました。

2. VBSの編集

VBScript をエディターで開いて、以下の内容を保存します。

Option Explicit

' ベース名が同じバッチファイルをカレントフォルダから取得
Dim bat: bat = WScript.CreateObject( _
  "Scripting.FileSystemObject" _
).GetBaseName( _
  WScript.ScriptName _
) + ".bat"

' バッチファイルを非表示で実行
Const hide = 0
Dim cmd: cmd = "cmd /c " + bat
WScript.CreateObject("WScript.Shell").Run cmd, hide

3. VBSの実行

VBScript をダブルクリック等で実行すると、バッチファイルがウィンドウ非表示で実行されます。

他のバッチを実行する場合

非表示で実行したいバッチがあれば、今回の VBS をコピー・リネームして実行します。