Windows - タスクスケジューラでバッチファイル実行時DOS窓を最小化にする!

Updated:


※この記事は13年以上前に投稿されたもので、情報が古い可能性があります。

通常、Windowsでバッチファイルを実行時DOS窓を表示させないようにしたい場合、そのバッチファイルのショートカットを作成後、そのショートカットのプロパティで「実行時の大きさ」を「最小化」にすると、実現可能です。

しかし、タスクスケジューラでバッチファイルをスケジュール実行する場合、ショートカットを指定することができないので、バッチファイル実行時DOS窓が表示されないようにはできません。

でも、VBSを使用すれば実現可能です。

以下がその記録です。(VBSファイルを作成するだけです)

VBSファイルPermalink

ファイル名:hoge.vbs、実行するバッチファイル:hoge.bat

Set objWSHShell = CreateObject("WScript.Shell")
objWSHShell.Run "cmd.exe /c hoge.bat", 7

・cmd.exe の後ろの “/c” はバッチ実行後終了することを意味しています。 ・最後の “7” はウィンドウを最小化にすることを意味しています。

ちなみに、WScript.ShellオブジェクトのRunメソッドの第2引数はこちらによると以下のとおり。

 0 : ウィンドウを非表示にし、別のウィンドウをアクティブにします。
 1 : ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、
   元のサイズと位置に戻ります。アプリケーションでウィンドウ を最初に表示するときには、
   このフラグを指定してください。
 2 : ウィンドウをアクティブにし、最小化ウィンドウとして表示します。
 3 : ウィンドウをアクティブにし、最大化ウィンドウとして表示します。
 4 : ウィンドウを最新のサイズと位置で表示します。アクティブなウィンドウは切り替わりません。
 5 : ウィンドウをアクティブにし、現在のサイズと位置で表示します。
 6 : 指定したウィンドウを最小化し、Z オーダー上で次に上位となるウィンドウをアクティブにします。
 7 : ウィンドウを最小化ウィンドウとして表示します。アクティブなウィンドウは切り替わりません。
 8 : ウィンドウを現在の状態で表示します。アクティブなウィンドウは切り替わりません。
 9 : ウィンドウをアクティブにして表示します。ウィンドウが最小化または最大化されている場合は、
   元のサイズと位置に戻ります。アプリケーションで最小化ウィンドウを復元するときには、
   このフラグを指定してください。
10 : アプリケーションを起動したプログラムの状態に基づいて、表示状態を設定します。

あとは、作成したVBSファイルをタスクスケジューラに登録すれば OK です。

以上。





 

Sponsored Link

 

Comments