Write-Host
Grava saída personalizada em um host.
Sintaxe
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
O Write-Host
objetivo principal do cmdlet é produzir uma saída somente para (host)-display, como imprimir texto colorido como ao solicitar ao usuário a entrada em conjunto com o Read-Host. Write-Host
usa o método ToString() para gravar a saída. Por outro lado, para exportar dados para o pipeline, use Write-Output ou saída implícita.
Você pode especificar a cor do texto usando o ForegroundColor
parâmetro e pode especificar a cor do plano de fundo usando o BackgroundColor
parâmetro. O parâmetro Separator permite especificar uma cadeia de caracteres a ser usada para separar objetos exibidos. O resultado específico depende do programa que está hospedando o PowerShell.
Nota
A partir do Windows PowerShell 5.0, Write-Host
é um wrapper para Write-Information
Isso permite que você use Write-Host
para emitir saída para o fluxo de informações. Isso permite a captura ou supressão de dados gravados usandoWrite-Host
, preservando a compatibilidade com versões anteriores.
A variável de preferência e InformationAction
o $InformationPreference
parâmetro comum não afetam Write-Host
as mensagens. A exceção a esta regra é -InformationAction Ignore
, que efetivamente suprime a Write-Host
saída. (ver "Exemplo 5")
Exemplos
Exemplo 1: Gravar no console sem adicionar uma nova linha
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Este comando exibe a string 'no newline test' com o NoNewline
parâmetro.
Uma segunda string é escrita, mas acaba na mesma linha que a primeira devido à ausência de uma nova linha separando as strings.
Exemplo 2: Gravar no console e incluir um separador
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Este comando exibe os números pares de dois a doze. O parâmetro Separator é usado para adicionar a cadeia de caracteres , +2=
(vírgula, espaço, +
, 2
, =
, espaço).
Exemplo 3: Escrever com texto e cores de fundo diferentes
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Este comando exibe os números pares de dois a doze. Ele usa o ForegroundColor
parâmetro para produzir texto verde escuro e o BackgroundColor
parâmetro para exibir um fundo branco.
Exemplo 4: Escrever com texto e cores de fundo diferentes
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Este comando exibe a cadeia de caracteres "Vermelho no texto branco". O texto é vermelho, conforme definido pelo ForegroundColor
parâmetro. O fundo é branco, conforme definido pelo BackgroundColor
parâmetro.
Exemplo 5: Suprimir a saída do Write-Host
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null
Esses comandos suprimem efetivamente a Write-Host
saída do cmdlet. O primeiro usa o InformationAction
parâmetro com o Valor para suprimir a Ignore
saída para o fluxo de informações.
O segundo exemplo redireciona o fluxo de informações do comando para a $null
variável e, assim, a suprime. Para obter mais informações, consulte about_Output_Streams.
Parâmetros
-BackgroundColor
Especifica a cor de fundo. Não há inadimplência. Os valores aceitáveis para este parâmetro são:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Tipo: | ConsoleColor |
Valores aceites: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ForegroundColor
Especifica a cor do texto. Não há inadimplência. Os valores aceitáveis para este parâmetro são:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Tipo: | ConsoleColor |
Valores aceites: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-NoNewline
As representações de cadeia de caracteres dos objetos de entrada são concatenadas para formar a saída. Nenhum espaço ou novas linhas são inseridos entre as cadeias de caracteres de saída. Nenhuma nova linha é adicionada após a última cadeia de caracteres de saída.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Object
Objetos a serem exibidos no host.
Tipo: | Object |
Position: | 0 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Separator
Especifica uma cadeia de caracteres separadora a ser inserida entre objetos exibidos pelo host.
Tipo: | Object |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar objetos a serem gravados no host para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída. Ele envia os objetos para o host. O host exibe os objetos que esse cmdlet envia para ele.
Notas
Ao escrever uma coleção para o host, os elementos da coleção são impressos na mesma linha separados por um único espaço. Isso pode ser substituído pelo parâmetro Separator .
Tipos de dados não primitivos, como objetos com propriedades, podem causar resultados inesperados e não fornecer saída significativa. Por exemplo,
Write-Host @{a = 1; b = 2}
imprimiráSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
para o host.