Windows - タスクスケジューラでバッチファイル実行時DOS窓を最小化にする!
Updated:
通常、Windowsでバッチファイルを実行時DOS窓を表示させないようにしたい場合、そのバッチファイルのショートカットを作成後、そのショートカットのプロパティで「実行時の大きさ」を「最小化」にすると、実現可能です。
しかし、タスクスケジューラでバッチファイルをスケジュール実行する場合、ショートカットを指定することができないので、バッチファイル実行時DOS窓が表示されないようにはできません。
でも、VBSを使用すれば実現可能です。
以下がその記録です。(VBSファイルを作成するだけです)
VBSファイル
ファイル名: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 です。
以上。
Comments