2011-01-21 10 views
19

मुझे बाहरी एप्लिकेशन (यानी & 'नोटपैड') पर कॉल करने की आवश्यकता है और फिर कॉल किए गए एप्लिकेशन की प्रक्रिया आईडी प्राप्त करें।पावरशेल - कॉल किए गए एप्लिकेशन की प्रक्रिया आईडी

प्राप्त करें-प्रक्रिया नोटपैड = सभी नोटपैड वापस आ जाएगी प्रक्रियाओं

मैं की तरह कुछ करना चाहता हूँ:

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

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

उत्तर

37

उपयोग Start-Process-PassThru तर्क इस तरह के साथ:

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

पासस्थु क्या है? –

+2

@ जॉन डेमेट्रीओ यह प्रक्रिया ऑब्जेक्ट को पाइपलाइन पर आउटपुट करने के लिए स्टार्ट-प्रोसेस कहता है (यानी "इसे पाइपलाइन के माध्यम से पास करने के लिए") – zdan

1

अधिक संक्षिप्त :

# Starts Notepad and returns the ID 
(Start-Process Notepad -passthru).ID 
संबंधित मुद्दे