dani
Goto Top

Skript soll warten bis bestimmte Prozess nicht mehr läuft

Guten Abend Kollegen,
ich schreibe ein Powershellskript in dem ein Tool aufgerufen wird:
...
notepad.exe /xxx /yyy
...
Das Skript wartet leider nicht bis das Tool fertig ist, sondern arbeitet die nachstehnenden Befehle sofort ab.

Mit dem cmdlet "Get-Process cleanmgr" erhalte ich die Rückmeldung ob der Prozess noch vorhanden ist. Leider habe ich keinen Ahnung, wie ich diese Ausgabe weiter verarbeiten könnte um an mein Ziel zukommen: Das Skript läuft erst weiter, wenn der Prozess nicht mehr vorhanden ist.

Das Skript läuft unter Microsoft Windows 7 (32 und 64Bit).


Gruß,
Dani

Content-Key: 249575

Url: https://administrator.de/contentid/249575

Printed on: April 25, 2024 at 23:04 o'clock

Member: BirdyB
Solution BirdyB Sep 18, 2014 updated at 18:13:55 (UTC)
Goto Top
Hallo Dani,

Hier gibt es einen Lösungsansatz: http://stackoverflow.com/questions/1741490/how-to-tell-powershell-to-wa ...
Vielleicht hilft das ja weiter...

Beste Grüße

Berthold
Member: colinardo
Solution colinardo Sep 18, 2014 updated at 18:40:07 (UTC)
Goto Top
N'Abend Dani,
Start-Process <pfad zur exe> -NoNewWindow -Wait
oder auf das Ende eines Prozesses warten
while(get-process 'cleanmgr' -ErrorAction SilentlyContinue){  
 sleep(1)
}
usw. und sofort face-smile
hier gibts noch mehr Varianten die ich hier schon mal gepostet hatte, inkl. einer Multithread Variante:

Grüße Uwe
Member: Dani
Dani Sep 18, 2014 at 18:13:51 (UTC)
Goto Top
Guten Abend ihr Zwei,
vielen Dank für den schnellen Input.

Hab mich für die Variante Start-Process entschieden. Auf fünf Maschinen verliefen die Tests bisher positiv.


Gruß,
Dani