Envia os objetos especificados para o próximo comando no pipeline. Se o comando for o último comando no pipeline, os objetos serão exibidos no console.
Sintaxe
Descrição
O cmdlet Write-Output
envia o objeto especificado pelo pipeline para o próximo comando. Se o comando for o último comando no pipeline, o objeto é exibido no console.
Write-Output
envia objetos pelo pipeline principal, também conhecido como “fluxo de saída” ou “pipeline de sucesso”. Para enviar objetos de erro pelo pipeline de erro, use Write-Error.
Este cmdlet é normalmente usado em scripts para exibir strings e outros objetos no console. Um dos aliases integrados para Write-Output
é echo
e semelhante a 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 onde a saída é exibida por padrão. Por exemplo, Get-Process | Write-Output
é equivalente a Get-Process
. Ou echo "Home directory: $HOME"
pode ser escrito, "Home directory: $HOME"
.
Por padrão, Write-Output
enumera por meio de coleções fornecidas ao cmdlet. No entanto, Write-Output
também pode ser usado para passar coleções pelo pipeline como um único objeto com o parâmetro NoEnumerate.
Exemplos
Exemplo 1: Obtenha objetos e grave-os no console
O primeiro comando obtém os processos em execução no computador e os armazena no $P
variable.
O segundo e o terceiro comandos exibem os objetos do processo em $P
no console.
Exemplo 2: saída da passagem para outro cmdlet
Este comando canaliza a string “test output” para o cmdlet Get-Member
, que exibe o membros da classe System.String, demonstrando que a string foi passada ao longo do pipeline.
Exemplo 3: suprimir a enumeração na saída
Este comando adiciona o parâmetro NoEnumerate para tratar uma coleção ou matriz como um único objeto através do pipeline.
Parâmetros
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.
Digite: | PSObject |
Posição: | 0 |
Valor padrão: | Nenhum |
Aceitar entrada de pipeline: | Verdadeiro |
Aceitar caracteres curinga: | Falso |
Por padrão, o Write-Output
cmdlet sempre enumera sua saída. Os parâmetros NoEnumerate suprimem o comportamento padrão e evita que Write-Output
enumere a saída. O parâmetroNoEnumerate não tem efeito se o comando estiver entre parênteses, porque os parênteses forçam a enumeração. Por exemplo, (Write-Output 1,2,3)
ainda enumera a matriz.
Observação
Essa opção funciona corretamente apenas com PowerShell Core 6.2 e mais recente. Em versões mais antigas do PowerShell Core, a coleção ainda é enumerada mesmo com o uso dessa opção.
Tipo: | SwitchParameter |
Posição: | Nomeada |
Valor padrão: | Nenhum |
Aceitar entrada de pipeline: | False |
Aceitar caracteres curinga: | Falso |
Entradas
PSObject
Você pode canalizar objetos para Write-Output
.
Saídas
PSObject
Write-Output
retorna os objetos que são enviados como entrada.
- about_Output_Streams
- about_Redirection
- Tee-Object
- Write-Debug
- Write-Error
- Write-Host
- Write-Information
- Write-Progress
- Write-Verbose
- Aviso de gravação