2013-10-16 10 views
5

Ich habe eine Liste von Windows-Paketen, die ich über Powershell bin Installation mit dem folgenden Befehl:Gibt es eine Möglichkeit, Powershell warten zu lassen, bis eine Installation abgeschlossen ist?

& mypatch.exe /passive /norestart

mypatch.exe aus einer Liste geführt wird, und es wartet nicht, die vor dem Abschluss installieren - es geht einfach weiter. Es baut ein riesiges Fenster mit Installationen auf, für die die Installation aussteht. Außerdem kann ich nicht verwenden, um festzustellen, ob die Installation erfolgreich war oder fehlgeschlagen ist.

Gibt es trotzdem, die installiert, bevor die nächsten warten zu machen?

Antwort

7
Start-Process <path to exe> -Wait 
+1

Perfect, danke! –

1

Sicher, schreiben einen einzeiligen Batch-Skript, das das Installationsprogramm ausgeführt wird. Das Stapelscript wartet darauf, dass das Installationsprogramm beendet wird, bevor es zurückkehrt. Rufen Sie das Skript von PowerShell auf, das darauf wartet, dass das Stapelscript beendet wird.

Wenn Sie Zugriff darauf haben, wie mypatch geschrieben wird, könnten Sie nach dem Abschluss eine zufällige Datei erstellen, dass PowerShell in einer while-Schleife auf seine Existenz überprüfen und nur schlafen kann, während die Datei nicht existiert.

Wenn Sie dies nicht tun, könnten Sie haben auch, dass Batch-Skript eine Dummy-Datei erstellen, wenn das Installationsprogramm abgeschlossen ist.

noch eine weitere Möglichkeit, das Schlimmste von all diesen aber wahrscheinlich einen Sleep-Timer nur schwer Code ist (Start-Schlaf), wenn Sie das Installationsprogramm aufrufen.

EDIT sah nur die Antwort von JensG. Ich wusste nichts davon. Nizza

Verwandte Themen