mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

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

[ pc_tips ] [ Windows, バッチ ]

こんばんは。

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

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

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

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

VBSファイル

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

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

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

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

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

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

以上。

Comments