2010-03-02 34 views

Répondre

6

Regardez l'aide sur l'applet de commande Wait-Process:

man Wait-Process -full 
start-process notepad -PassThru | Wait-Process 
+0

Voici une autre façon: le bloc-notes; (Bloc-notes ps) .WaitForExit() –

+0

Cela fonctionne bien, sauf que -PassThru n'a pas été reconnu. Peut-être parce que j'utilise toujours v1.0? –

+0

Dans ce cas, vous utilisez probablement la version PSCX de Start-Process qui passe par défaut. Bien que, Wait-Process est nouveau dans PowerShell 2.0. Donc, je suppose que vous utilisez 2.0 (si oui, $ psversiontable sera non nul) et que vous obtenez la version PSCX de Start-Process. –

-1

Vous pouvez obtenir l'objet Process ou ID avec la commande get-process pour obtenir l'objet de processus ou vous pouvez l'obtenir comme je l'ai montré ci-dessous soit fonctionnera.

vous pouvez utiliser le PID et appelez

$proc = [System.Diagnostics.Process]::GetProcessById($PID) 
while(-not $proc.HasExited) {[System.Threading.thread]::sleep(500) } 
Questions connexes