2010-01-22 2 views
2

일부 작업이 완료 될 때까지 PowerShell 스크립트를 일시 중단 할 수 있습니까? 예를 들어 리눅스 셸을 사용하고 있는데 gedit을 입력하면 gedit이로드되지만 gedit를 닫을 때까지 셸이 일시 중단됩니다 ('&'이 명령의 끝에 추가되지 않은 경우).작업이 완료 될 때까지 PowerShell 스크립트 일시 중지 (예 : 열기 및 닫기) 메모장

어쨌든 PowerShell에서이 동작을 모방합니까? 따라서 메모장을 열고 메모장을 다시 닫을 때까지 스크립트를 일시 중단 할 수 있습니까?

덕분에 ...

답변

6

윈도우 응용 프로그램이 닫힐 때까지 아웃 널 및 PowerShell을 단지 파이프를 기다립니다 :

PS> notepad | out-null 

또는

이전 포스터 지적과 같이

PS> (Start-Process notepad -PassThru).WaitForExit() 
+0

고마워요. 키이스, 바깥 널이 가장 잘 작동한다는 것을 발견했습니다. 그것은 내가 찾고 있던 것입니다. – Jonny

3

당신은 System.Diagnostics.Process 클래스를 사용하고 메모장을 실행하려면 적절한 ProcessInfo 속성을 설정 한 후 .WaitForExit 메소드를 호출 할 필요가있다.

+0

이것은 우리가 그것을 알아낼 수있는 유일한 방법입니다 또한 이상하게도 msi에서 작동하지 않습니다. MSI 서비스 때문에 여러 개의 msi 프로세스가 필요하다고 생각합니다. 다른 사람이 다른 방법을 가지고 있는지 보는 것은 흥미 롭습니다. – Alex

+0

Keiths 응답의 두 번째 부분과 결합 된 Guillermooo에게 감사드립니다. 조금만 더 길어졌습니다. – Jonny

관련 문제