[プログラムの結果を取得する]
test.bat を起動し、終了ステータスと標準出力(エラー出力)の結果を取得します。
【ソースコード】
[tips0108.vbs]
Option Explicit
On Error Resume Next
Dim objWshShell
Dim strCmdLine
Dim objExecCmd
Set objWshShell = WScript.CreateObject("WScript.Shell")
If Err.Number = 0 Then
strCmdLine = "test.bat"
Set objExecCmd = objWshShell.Exec(strCmdLine)
If Err.Number = 0 Then
WScript.Echo strCmdLine & " を起動しました。"
Do While objExecCmd.Status = 0
WScript.Sleep(1000)
Loop
WScript.Echo "終了ステータス:" & objExecCmd.ExitCode
WScript.Echo "標準出力:" & objExecCmd.StdOut.ReadAll
WScript.Echo "エラー出力:" & objExecCmd.StdErr.ReadAll
Else
WScript.Echo "エラー: " & Err.Description
End If
Else
WScript.Echo "エラー: " & Err.Description
End If
Set objExecCmd = Nothing
Set objWshShell = Nothing
[test.bat]
@echo off
echo これは標準出力への出力です。
exit 2
【実行結果】
C:\> cscript //NoLogo tips0108.vbs
test.bat を起動しました。
終了ステータス:2
標準出力:これは標準出力への出力です。
エラー出力: