Partilhar via


Write-Output

Grava os objetos especificados no pipeline.

Sintaxe

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

Description

Grava os objetos especificados no pipeline. Se Write-Output for o último comando no pipeline, os objetos serão exibidos no console.

Write-Output envia objetos para o pipeline primário, também conhecido como fluxo de sucesso . Para enviar objetos de erro para o fluxo de erro, use Write-Error.

Esse cmdlet normalmente é usado em scripts para exibir cadeias de caracteres e outros objetos no console. Um dos aliases internos para Write-Output é echo e é semelhante ao de outros shells que usam echo. O comportamento padrão é exibir a saída no final de um pipeline. No PowerShell, geralmente não é necessário usar o cmdlet em instâncias em que a saída é exibida por padrão. Por exemplo, Get-Process | Write-Output é equivalente a Get-Process. Ou echo "Home directory: $HOME" pode ser "Home directory: $HOME".

Por padrão, Write-Output enumera objetos em uma coleção. No entanto, Write-Output também pode passar coleções pelo pipeline como um único objeto com o parâmetro NoEnumerate.

Exemplos

Exemplo 1: Obter objetos e gravá-los no console

Neste exemplo, os resultados do cmdlet Get-Process são armazenados na variável $P. O cmdlet Write-Output exibe os objetos de processo em $P ao console.

$P = Get-Process
Write-Output $P

Exemplo 2: Passar a saída para outro cmdlet

Este comando canaliza a string "test output" para o cmdlet Get-Member, que exibe os membros da classe System.String, demonstrando que a string foi passada através do pipeline.

Write-Output "test output" | Get-Member

Exemplo 3: Suprimir enumeração na saída

Este comando adiciona o parâmetro NoEnumerate para tratar uma coleção ou matriz como um único objeto pelo pipeline.

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

Count    : 3
...

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

Count    : 1
...

Parâmetros

-InputObject

Especifica os objetos a serem enviados pelo pipeline. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.

Tipo:PSObject[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-NoEnumerate

Por padrão, o cmdlet Write-Output sempre enumera sua saída. O parâmetro NoEnumerate suprime o comportamento padrão e impede que Write-Output enumere a saída. O parâmetro NoEnumerate não terá efeito se o comando estiver entre parênteses, porque os parênteses forçam a enumeração. Por exemplo, (Write-Output 1,2,3 -NoEnumerate) ainda enumera a matriz.

O parâmetro NoEnumerate só é útil dentro de um pipeline. Tentar ver os efeitos de NoEnumerate no console é problemático porque o PowerShell adiciona Out-Default ao final de cada linha de comando, o que resulta em enumeração. Mas se você canalizar Write-Output -NoEnumerate para outro cmdlet, o cmdlet downstream receberá o objeto de coleção, não os itens enumerados da coleção.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

PSObject

Você pode canalizar objetos para este cmdlet.

Saídas

PSObject

Este cmdlet retorna os objetos que são enviados como entrada.

Notas

O PowerShell inclui os seguintes aliases para Write-Output:

  • Todas as plataformas:

    • echo
  • Windows

    • write