Write-Output
Записывает указанные объекты в конвейер.
Синтаксис
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 directory: $HOME"
быть записано: "Home directory: $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
Задает объекты для отправки в конвейер. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoEnumerate
По умолчанию Write-Output
командлет всегда перечисляет свои выходные данные. Параметр NoEnumerate подавляет поведение по умолчанию и запрещает перечисление выходных Write-Output
данных. Параметр NoEnumerate не действует, если команда заключена в круглые скобки, так как в скобках выполняется принудительное перечисление. Например, (Write-Output 1,2,3)
по-прежнему перечисляет массив .
Параметр NoEnumerate полезен только в конвейере. Попытка увидеть влияние NoEnumerate в консоли проблематична, так как PowerShell добавляет Out-Default
в конец каждой командной строки, что приводит к перечислению. Но если передать Write-Output -NoEnumerate
его в другой командлет, подчиненный командлет получит объект коллекции, а не перечисленные элементы коллекции.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объекты, отправленные в качестве входных данных.
Примечания
PowerShell включает следующие псевдонимы для Write-Output
:
Для всех платформ.
echo
Windows:
write