Pracuję nad skryptem instalacyjnym Mssql i chcę uzyskać wyniki cichej instalacji programu mssql. W moim skrypcie PowerShell uruchamiam to polecenie:Zwracanie kodu błędu z CMD do Powershell
$result = (start cmd "/c D:\SQL2008R2\SQL2008R2\setup.exe /CONFIGURATIONFILE=sqlconfig.ini && exit 0 || exit 1")
Który powinien zwrócić 0 w przypadku niepowodzenia i 1 w przypadku przejścia. Niestety, nie otrzymuję żadnych danych wyjściowych. Jakieś pomysły?
To nie jest to, jak '' && prace i nie można wybrać '' exit 0' lub wyjście 1 'po uruchomienie konfiguracji. Musisz przetestować 'ERRORLEVEL', który zwykle jest wykonywany w pliku wsadowym, który może następnie wyjść z odpowiednim kodem błędu. –
Tak naprawdę to działa. '&&' działa po lewej stronie i jeśli jest to fałsz (polecenie nie powiodło się), to uruchamia prawą stronę '&&'. Grupy priorytetów operatorów "(lewy i średni) || Prawo ". Teraz, gdy o tym myślę, jeśli '||' jest warunkowe - lub działa tylko do prawdziwej wartości, to powinienem użyć '&' zamiast '||'. –