VBScript で呼び出したプログラムの実行結果(標準出力)を取得する方法

課題

VBScript でプログラムを実行した時に、実行結果としてコマンドプロンプトに表示される文字列を取得したいと考えたことはありませんか ? 

 

WScript.Shell の Run で実行した場合、コマンドの実行結果(標準出力)を取得することはできません。

 

解決方法

WScript.Shell オブジェクトの Exec メソッドを使うと、標準出力を取得することができます。

 

例えば、Exec メソッドを使って、ipconfig を実行し、その実行結果を表示する場合のスクリプトは、以下のようになります。

 

'オブジェクトを生成
Set objWshShell = CreateObject("WScript.Shell")

'コマンドを実行
Set objExec = objWshShell.Exec("ipconfig")

'コマンド実行結果を出力
Do While objExec.StdOut.AtEndOfStream = false
    line = objExec.StdOut.ReadLine
    WScript.Echo line
Loop