Powershell: как захватить вывод с хоста - PullRequest
4 голосов
/ 12 августа 2010

Я использую PowerShell для автоматизации некоторых задач, связанных с извлечением / объединением в TFS.Когда я звоню

tf get * /recurse

, я получаю кучу прокручиваемых данных о проверяемых файлах.Последняя строка, сгенерированная этой командой (при условии ее успеха), является строкой, сообщающей номер регистрации.Я хотел бы разобрать это, чтобы потом можно было использовать его в моем сценарии.

Я знаю, что могу сделать что-то вроде

$getOutput = tf get * /recurse

, но затем вывод полностью подавляется, и я хочу вывод этой команды для прокрутки в реальном времени.Я хотел бы получить все, что только что было отправлено в выходной буфер.

Ответы [ 2 ]

6 голосов
/ 12 августа 2010

Попробуйте что-то вроде этого:

tf get * / recurse |tee-Object -Variable getOutput

3 голосов
/ 12 августа 2010

Объект tee в PowerShell 2.0 позволяет передавать результаты в два источника.Если вы оставите второй источник пустым, результаты перейдут в консоль.

ls | tee-object -filePath directoryListing.txt

Это запишет список каталогов как в консоль, так и в текстовый файл.

...