Windows Script Host  

Propiedad ExitCode

Devuelve el código de salida establecido por un programa o secuencia de comandos ejecutada mediante el método Exec().

Objeto.ExitCode

Parámetros

Objeto
Objeto WshScriptExec.

Comentarios

Los archivos ejecutables establecen un código de salida cuando terminan de ejecutarse. De esta forma se transmite la información de estado cuando finaliza un proceso. A menudo, se utiliza para enviar un código de error (o algún otro tipo de información) de vuelta al elemento que realizó la llamada. Si el proceso no ha finalizado, la propiedad ExitCode devuelve 0. Los valores devueltos desde ExitCode dependen de la aplicación a la que se llamó.

Ejemplo

The following code shows an example of the ExitCode property.

[VBScript]
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]
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("Advertencia: código de salida distinto de cero");
}

WScript.Echo(allInput);

Consulte también

Método Exec | Objeto WshScriptExec

Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com.