タスクを非表示で実行する

WindowsでPerlなどで記述したスクリプトをバッチプログラムで定期的に実行させる場合、ウィンドウは最小化して非表示にすることはできても、タスクボタンは実行が終了するまでの間(たとえ一瞬でも)どうしてもタスクバーに表示されてしまう。

自分の操作とは無関係に定期的にタスクボタンやウィンドウが一瞬表示されたりすると、気になってなかなか作業に集中できないことが多い。

というわけで少し調べてみたところ、以下のようなVBScriptを記述すれば、バッチプログラムのような定期実行されるプログラムのタスクボタンを非表示にすることができることがわかった。

hidetask.vbs

Dim ws
Set ws = CreateObject("WScript.Shell")
ws.run "C:\mytask.bat", vbhide

あとはこのVBScriptを使ってタスクを登録し直せば、タスクボタンが表示されないバッチプログラムの完成。