web-dev-qa-db-ja.com

PowerShell-呼び出されたアプリケーションのプロセスIDを取得する

外部アプリケーション(& 'Notepad'など)を呼び出して、呼び出されたアプリケーションのプロセスIDを取得する必要があります。

Get-Process Notepad =すべてのメモ帳プロセスを返します

私は次のようなことをしたいです:

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

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

使用する Start-Process とともに -PassThruこのような引数:

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

より簡潔:

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