Получение идентификатора процесса вызванной команды PowerShell

341
deostroll

Есть ли способ использовать psдля получения pid команды powershell, которая уже выполняется.

Например, скажем, я уже выполнил следующую команду.

ls | ? { <where condition> } | % { <some operations> }

Цель состоит в том, чтобы я открыл другое окно powershell и ввел что-то, что позволяет мне ждать завершения вышеупомянутого.

Есть идеи?

0
Нет, ты не можешь этого ждать. Посмотрите на рабочие места PowerShell, они могут быть полезны. Seth 6 лет назад 1

1 ответ на вопрос

1
Zoredache

позвольте мне подождать, пока все закончится.

В этой команде вы используете ForEach-Object ( %).

ForEach-Object имеет аргумент по умолчанию, -Processкоторый принимает блок скрипта вы предоставляете, что делает обработку для каждого элемента в трубопроводе. Но этот командлет также предлагает -End аргумент, который будет выполнен после того, как все входные данные конвейера будут приняты и обработаны. Вы можете использовать этот -Endблок для отправки вашего уведомления. Возможно, написав файл или отправив электронное письмо или что-то еще, что вы хотели уведомить вас.

ls | ? { <where condition> } | % { <some operations> } -End { #alert me!}