2011-01-21 3 views
19

외부 응용 프로그램 (예 : & '메모장') 을 호출 한 다음 호출 된 응용 프로그램의 프로세스 ID를 가져와야합니다.PowerShell - 호출 된 응용 프로그램의 프로세스 ID 얻기

가져 오기 프로세스 메모장 = 모든 메모장을 반환하는 것은

내가 뭔가를하고 싶은 처리합니다

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

답변

37

사용 Start-Process을 :

# Starts Notepad and returns the ID 
(Start-Process Notepad -passthru).ID 
+0

패스 스루 란 무엇입니까? –

+2

@JohnDemetriou Start-Process에게 프로세스 객체를 파이프 라인에 출력하도록 명령합니다 (즉, "파이프 라인을 통해 전달"). – zdan

1

더 간결 :이 같은 -PassThru 인수

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

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