2011-01-21 18 views
19

Necesito llamar a una aplicación externa (es decir, & 'Bloc de notas') y obtener el ID de proceso de la aplicación llamada.PowerShell: obtenga el ID de proceso de la aplicación llamada

Get-Process Bloc de notas = devolverá todas portapapeles procesa

quiero hacer algo como:

$objApp = & 'c:\Notepad.exe' 

WHILE (get-process -ID $objApp.id | select -property Responding) { 
    Start-Sleep -s 10 
    Echo "STILL WAITING" 
} 
Echo "Done!!" 

Respuesta

37

Uso Start-Process con el argumento -PassThru así:

$app = Start-Process notepad -passthru 
Wait-Process $app.Id 
+0

¿Qué es passthru? –

+2

@JohnDemetriou Le dice a Start-Process que envíe el objeto de proceso a la tubería (es decir, "para pasarlo a través de la tubería") – zdan

1

Más sucinta :

# Starts Notepad and returns the ID 
(Start-Process Notepad -passthru).ID 
Cuestiones relacionadas