Поиск по сайту:

Write-Output (Microsoft.PowerShell.Utility)


Write-Output

Модуль:
Microsoft.PowerShell.Utility

Записывает указанные объекты в конвейер.

Синтаксис

Write-Output
     [-InputObject] <PSObject[]>
     [-NoEnumerate]
     [<CommonParameters>]

Описание

Записывает указанные объекты в конвейер. Если Write-Output — последняя команда в конвейере, объекты отображаются в консоли.

Write-Output отправляет объекты в основной конвейер, также известный как поток успеха. Чтобы отправить объекты ошибок в поток ошибок, используйте Write-Error.

Этот командлет обычно используется в сценариях для отображения строк и других объектов на консоли. Одним из встроенных псевдонимов для Write-Output является echo, он аналогичен другим оболочкам, использующим echo. Поведение по умолчанию — отображение вывода в конце конвейера. В PowerShell обычно нет необходимости использовать командлет в тех случаях, когда выходные данные отображаются по умолчанию. Например, Get-Process | Write-Output эквивалентен Get-Process. Или echo "Домашний каталог: $HOME" можно записать, "Домашний каталог: $HOME".

По умолчанию Write-Output перечисляет объекты в коллекции. Однако Write-Output также может передавать коллекции по конвейеру как один объект с параметром NoEnumerate.

Примеры

Пример 1. Получение объектов и запись их в консоль

В этом примере результаты командлета Get-Process сохраняются в переменной $P. Командлет Write-Output отображает объекты процесса в $P на консоли.

$P = Get-Process
Write-Output $P

Пример 2. Передача вывода в другой командлет

Эта команда передает строку «вывод теста» в командлет Get-Member, который отображает члены класса System.String, демонстрируя, что строка была передана по конвейеру. .

Write-Output "test output" | Get-Member

Пример 3. Подавление перечисления в выводе

Эта команда добавляет параметр NoEnumerate для обработки коллекции или массива как одного объекта в конвейере.

Write-Output 1,2,3 | Measure-Object

Count    : 3
...

Write-Output 1,2,3 -NoEnumerate | Measure-Object

Count    : 1
...

Параметры

-InputObject

Указывает объекты для отправки по конвейеру. Введите переменную, содержащую объекты, или введите команду или выражение, позволяющее получить объекты.

Тип :

PSОбъект[]

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-NoEnumerate

По умолчанию командлет Write-Output всегда перечисляет свои выходные данные. Параметр NoEnumerate подавляет поведение по умолчанию и не позволяет Write-Output перечислять выходные данные. Параметр NoEnumerate не действует, если команда заключена в круглые скобки, поскольку круглые скобки вызывают перечисление. Например, (Write-Output 1,2,3) по-прежнему перечисляет массив.

Параметр NoEnumerate полезен только внутри конвейера. Попытка увидеть эффект NoEnumerate в консоли проблематична, поскольку PowerShell добавляет Out-Default в конец каждой командной строки, что приводит к перечислению. Но если вы передадите Write-Output -NoEnumerate другому командлету, подчиненный командлет получит объект коллекции, а не перечисляемые элементы коллекции.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

PSObject

Вы можете передавать объекты в этот командлет.

Выходы

PSObject

Этот командлет возвращает объекты, отправленные в качестве входных данных.

Примечания

PowerShell включает следующие псевдонимы для Write-Output:

  • Все платформы:

      echo
  • Windows:

      write