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 o fluxo de sucesso. Para enviar objetos de erro para o fluxo de erros, 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 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 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 escrito como "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, utilizando 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
no console.
$P = Get-Process
Write-Output $P
Exemplo 2: passar a saída para outro cmdlet
Esse comando redireciona a cadeia de caracteres "test output" para o cmdlet Get-Member
, que exibe os membros da classe System.String, demonstrando que a cadeia de caracteres foi passado ao longo do pipeline.
Write-Output "test output" | Get-Member
Exemplo 3: suprimir enumeração na saída
Esse comando adiciona o parâmetro NoEnumerate para tratar uma coleção ou matriz como um único objeto por meio do 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 para envio pelo pipeline. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtém os objetos.
Tipo: | PSObject[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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
enumerem a saída. O parâmetro NoEnumerate não terá efeito se o comando estiver encapsulado em 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 em 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ê redirecionar 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 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode redirecionar objetos para este cmdlet.
Saídas
Esse cmdlet retorna os objetos enviados como entrada.
Observações
O PowerShell inclui os seguintes aliases para Write-Output
:
Todas as plataformas:
echo
Windows:
write