VbScript(WSH)からコマンドを起動する方法の覚え書き。
ちょっとした処理の自動化をしたいとき、Windowsであればバッチファイルを作成するけど、すこし複雑なことを行おうと思うとWSHが便利。
WSHからDOSコマンドラインを起動する方法は以下になる。
▼書式
WScript-Shellオブジェクト名.Run ( "実行コマンド記述", ウィンドウ表示モード指定, 同期モード指定 )
▼ウィンドウ表示モード指定
コマンド実行時のウィンドウサイズを数値で指定する。
0 = 非表示 / 1 = 通常ウィンドウ / 2 = 最小化 / 3 = 最大化
▼同期モード指定
通常はDOSコマンドをスクリプトから実行した場合は非同期モードとなり、実行したコマンドの終了を待たず、Scriptの次のコードが実行される。
DOSのコマンドの実行が終了するのを待って次のコードを実行したい場合は、同期指定をする。
False = 非同期 / True = 同期
▼サンプルコード
Set objWsShell = CreateObject("WScript.Shell")
objWsShell.Run "cmd /c dir c: /B ", 0 , false
▼コマンド実行結果をリダイレクトする場合
コマンドを実行した結果をリダイレクトしてファイルに保存したいことがままあるが、その場合は以下のようにする
objWsShell.Run "%comspec% /c dir c: /B > c:\tmp\result.txt", 0 , false
参考URL: http://support.microsoft.com/kb/278411/ja