Schlauge
Schlauge

Reputation: 503

PowerShell - get process ID of called application

I need to call an external application (i.e. & 'Notepad' ) and then get the process ID of the called application.

Get-Process Notepad = will return all Notepad processes

I want to do something like:

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

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

Upvotes: 43

Views: 68640

Answers (2)

Kellen Stuart
Kellen Stuart

Reputation: 8895

More succinct:

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

Upvotes: 14

zdan
zdan

Reputation: 29450

Use Start-Process with the -PassThru argument like this:

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

Upvotes: 73

Related Questions