Returns the exit code set by a script or program run using the Exec() method.
Object.ExitCode |
Parameters
- Object
-
WshScriptExec Object
Remarks
Executables set an exit code when they finish running. This conveys the status information when a process ends. Often, it is used to send an error code (or some other piece of information) back to the caller. If the process has not finished, the ExitCode property returns 0. The values returned from ExitCode depend on the application that was called.
Example
The following code shows an example of the ExitCode property.
Visual Basic Script | Copy Code |
---|---|
Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("%comspec% /c dire") Function ReadAllFromAny(oExec) If Not oExec.StdOut.AtEndOfStream Then ReadAllFromAny = oExec.StdOut.ReadAll Exit Function End If If Not oExec.StdErr.AtEndOfStream Then ReadAllFromAny = oExec.StdErr.ReadAll Exit Function End If ReadAllFromAny = -1 End Function Dim allInput, tryCount allInput = "" tryCount = 0 Do While True Dim input input = ReadAllFromAny(oExec) If -1 = input Then If tryCount > 10 And oExec.Status = 1 Then Exit Do End If tryCount = tryCount + 1 WScript.Sleep 100 Else allInput = allInput & input tryCount = 0 End If Loop If oExec. ExitCode<> 0 Then WScript.Echo "Warning: Non-zero exit code" End If WScript.Echo allInput |
JScript | Copy Code |
---|---|
var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("%comspec% /c dire"); function ReadAllFromAny(oExec) { if (!oExec.StdOut.AtEndOfStream) return oExec.StdOut.ReadAll(); if (!oExec.StdErr.AtEndOfStream) return oExec.StdErr.ReadAll(); return -1; } var allInput = ""; var tryCount = 0; while (true) { var input = ReadAllFromAny(oExec); if (-1 == input) { if (tryCount++ > 10 && oExec.Status == 1) break; WScript.Sleep(100); } else { allInput += input; tryCount = 0; } } if (oExec. ExitCode!= 0) { WScript.Echo("Warning: Non-zero exit code"); } WScript.Echo(allInput); |