Obtenga el código de salida del proceso de inicio en PowerShell
Este artículo ilustra cómo podemos obtener el código de salida del comando Start-Process
en PowerShell.
El cmdlet Start-Process
nos permite ejecutar uno o varios procesos en nuestras máquinas desde PowerShell. Puede usar el cmdlet para iniciar una aplicación en su computadora.
Obtenga el código de salida de Start-Process
en PowerShell
Cuando ejecuta un script de PowerShell, la consola siempre devuelve el estado de la ejecución. PowerShell devuelve cero cuando un script se ejecuta correctamente, mientras que una ejecución fallida devuelve un valor distinto de cero.
El valor resultante de una ejecución de secuencia de comandos fallida se denomina código de error.
¿Cómo podemos obtener el código de salida de Start-Process
? Usemos un ejemplo para explicar el concepto.
Digamos que queremos abrir el Bloc de notas desde PowerShell y obtener el código de salida del script. ¿Cómo lo hacemos?
Comencemos con la definición de un script para abrir el Bloc de notas desde PowerShell. Usaremos el cmdlet Start-Process
como se ilustra a continuación:
Start-Process -FilePath "notepad.exe" -PassThru -Wait
Este script abrirá el Bloc de notas y esperará a que salgamos manualmente. Sin embargo, necesitamos guardar el comando en una variable para obtener el código de salida.
En nuestro caso, lo guardaremos en la variable $run
. Nuestro script leerá:
$run = (Start-Process -FilePath "notepad.exe" -PassThru -Wait)
Después de salir del Bloc de notas, ahora podemos obtener el código de salida como se ilustra a continuación:
$run.ExitCode
Esto devolverá 0
ya que el script se ejecutó con éxito.
¿Qué pasa si, después de iniciar el Bloc de notas, queremos que se ejecute algún procesamiento en segundo plano? En tal situación, omitiremos el -esperar
y en su lugar usaremos $run.WaitExit()
, como se ilustra a continuación:
$run = (Start-Process -FilePath "notepad.exe" -PassThru)
$run.WaitExit()
Después de salir del Bloc de notas, podemos obtener el código de salida, como se muestra a continuación:
$run.ExitCode
Esto aún devolverá 0
ya que el script fue exitoso.
En conclusión, puede obtener el código de salida del cmdlet Start-Process
guardando el comando en una variable. Esto le permitirá ejecutar el comando $.ExitCode
para obtener el código de salida.
Si obtiene un valor distinto de cero, muestra que el script no se ejecutó correctamente.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn