Estoy intentando ejecutar un trabajo en segundo plano que es un .exe con parámetros y el destino tiene espacios. Por ejemplo:Trabajo en segundo plano en Powershell
$exec = "C:\Program Files\foo.exe"
y quiero ejecutar esto con parámetros:
foo.exe /param1 /param2, etc.
sé que Start-Job
hace esto, pero yo he probado toneladas de diferentes combinaciones y tampoco me da un error debido el espacio en blanco o debido a los parámetros. ¿Puede alguien ayudarme con la sintaxis aquí? Necesito suponer que $exec
es la ruta del ejecutable porque es parte de un archivo de configuración y podría cambiar más adelante.
Gracias por la ayuda! ¿Qué significa 2> y 1? – Brian
@Brian Ah sí que redirigirá la secuencia de error estándar (2) a la salida estándar (1). Esto garantiza que recibirá todo el texto del ejecutable desde el cmdlet 'Receive-Job'.Normalmente, lo que hago en el trabajo de fondo es capturar el resultado de un ejecutable '$ out = xcopy $ a $ b 2> & 1' luego verificar si el código de salida (' $ LASTEXITCODE') es distinto de cero y si es así tirar el capturado texto como mensaje de excepción: 'throw $ out'. –