3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

バッチファイルをプロンプトを表示せずにバックグラウンドで実行したい

バッチファイルをタスクに仕込んで、一定間隔置きにバックグラウンドで実行するよう設定しました。

しかし、バッチファイルは実行時にプロンプト画面を表示してしまうので、ウィンドウを表示させないようにしたいという要件です。

その場合、WSH(VBScript)で、WshShell.Run メソッドで、第二引数を0にしてバッチファイルを起動するようにしてしまえば、プロンプロトを表示せずにバッチが実行できるようです。

Set WshShell = WScript.CreateObject("WScript.Shell")

'バッチ非表示実行(エラーコードも取得)

Return = WshShell.Run("C:\test.bat", 0, true)

参考:

Windowsのバッチプログラム(.bat)を実行する際、ウィンドウを表示しない方法をお教えください。- 人力検索はてな

MSDN:WshShell.Run メソッド