2011-10-26 23 views
17

Có thể chạy một ứng dụng với PowerShell và đợi cho đến khi nó kết thúc không? Ví dụ tôi muốn chạy Thunderbird và sau khi người dùng đóng nó, sau đó in một cái gì đó để đầu ra? Điều thứ hai - là nó có thể tìm kiếm ứng dụng này bằng cách sử dụng thunderbird từ khóa như trong Start Menu (khi chúng ta gõ nó theo cách thủ công, nó trả về kết quả Mozilla Thunderbird) - và cũng có thể chạy nó không? Không.Chạy một ứng dụng bằng PowerShell và đợi cho đến khi hoàn thành

Cảm ơn!

+0

Điều gì đó rất giống [ở đây] (https://stackoverflow.com/q/1741490/465053) – RBT

Trả lời

27

Bạn có thể làm một cái gì đó như:

Start-Process myprogram.exe -NoNewWindow -Wait 

Hoặc nếu bạn muốn có một cơ chế ngắn gọn hơn, luôn có những Out-Null hack:

myprogram.exe | Out-Null 

Piping sẽ đợi cho chương trình chấm dứt, và do đó chúng tôi đường ống đến Out-Null

Đối với việc tìm kiếm một ứng dụng, điều này SO question bao gồm cách thực hiện việc này. Dưới đây là một bài viết khác thể hiện this method.

Bạn cũng có thể xem bài viết này về cách tạo Powershell interact with Windows Searchthis one, đó là những gì Nút bắt đầu sử dụng.

+0

Hoạt động tốt - và bạn có giải pháp nào để tìm ứng dụng không? – hsz

+0

@hsz, đã cập nhật câu trả lời của tôi với một con trỏ đến một câu hỏi tương tự mà một người nào đó đã hỏi và giải pháp. Tôi không biết có bất kỳ hack nhanh nào cho việc này, nhưng nếu tôi tìm được, tôi sẽ thêm nó. –

+1

Cảm ơn bạn rất nhiều! – hsz

Các vấn đề liên quan