Estoy trabajando en un script de instalación Mssql y quiero obtener los resultados de una instalación mssql silenciosa. En mi secuencia de comandos de PowerShell, ejecuto este comando:Devolviendo un código de error de CMD a Powershell
$result = (start cmd "/c D:\SQL2008R2\SQL2008R2\setup.exe /CONFIGURATIONFILE=sqlconfig.ini && exit 0 || exit 1")
que debería devolver 0 en el error y 1 en el pase. Lamentablemente, no obtengo ningún resultado. ¿Algunas ideas?
Esto no es como '' && obras, y no se puede elegir la salida '' 0' o salida después de la 1' la instalación se ejecuta. Tienes que probar 'ERRORLEVEL', y eso generalmente se hace en un archivo por lotes, que luego podría salir con el código de error apropiado. –
Bueno, realmente funciona así. '&&' ejecuta el lado izquierdo y si es falso (el comando falló), entonces se ejecuta en el lado derecho de '&&'. Grupos de precedencia del operador '(Izquierda && Medio) || Derecha'. Ahora que lo pienso, si '||' es un condicional o solo se ejecuta hasta un valor verdadero, entonces debería haber usado '&' en lugar de '||'. –