VBScriptでDOSコマンドを実行した時、DOS窓(コマンドプロンプト画面)が表示されてしまいます。
本資料では、DOS窓(コマンドプロンプト画面)の表示を抑止しDOSコマンドを実行する方法を以下に記します。
vbhide指定することによりDOS窓(コマンドプロンプト画面)の表示を抑止することができます。
以下にvbhideを使用したVBScriptとvbhideを使用しないVBScriptの2つを紹介します。
VBScriptからはDOSコマンドであるdirコマンドを実行しファイルに出力しています。
以下のスクリプトを実行するとdirコマンド実行時にDOS窓(コマンドプロンプト画面)が一瞬表示されます。
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c dir > dir.txt"
以下のスクリプトを実行するとdirコマンドを実行してもDOS窓(コマンドプロンプト画面)は表示されず、dirコマンドの出力結果ファイルdir.txtが作成されます。
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c dir > dir.txt", vbhide
以上、VBScriptでDOSコマンド実行時にDOS窓(コマンドプロンプト画面)の表示を抑止する方法でした。
上記のrunメソッドを次のように指定すると正常に動作しませんでした。
ws.run "cmd /c コマンド", vbhide, True
以下のようにvbhideの値を直に指定した場合、正常に動作しました。
ws.run "cmd /c コマンド", 0, True