Write-Host
Grava a saída personalizada em um host.
Syntax
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
A Write-Host
principal finalidade do cmdlet é produzir somente exibição for-(host), como imprimir texto colorido, como ao solicitar a entrada do usuário em conjunto com o Read-Host.
Write-Host
usa o método ToString() para gravar a saída. Por outro lado, para gerar dados para o pipeline, use a saída de gravação ou implícita.
Você pode especificar a cor do texto usando o ForegroundColor
parâmetro e especificar a cor da tela de fundo usando o BackgroundColor
parâmetro. O parâmetro separador permite que você especifique uma cadeia de caracteres a ser usada para separar os objetos exibidos. O resultado específico depende do programa que está hospedando o PowerShell.
Observação
A partir do Windows PowerShell 5.0, Write-Host
é um wrapper para Write-Information
isso que permite que você use Write-Host
para emitir a saída para o fluxo de informações. Isso permite a captura ou supressão de dados gravados usando Write-Host
a preservação da compatibilidade com versões anteriores.
A $InformationPreference
variável de preferência e InformationAction
o parâmetro comum não afetam as Write-Host
mensagens. A exceção a essa regra é -InformationAction Ignore
, que suprime Write-Host
efetivamente a saída. (consulte "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
Esse comando exibe a cadeia de caracteres "nenhum teste de nova linha" com o NoNewline
parâmetro.
Uma segunda cadeia de caracteres é gravada, mas acaba na mesma linha que a primeira devido à ausência de uma nova linha separando as cadeias de caracteres.
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
Esse comando exibe os números pares de dois a doze. O parâmetro Separador é usado para adicionar a cadeia , +2=
de caracteres (vírgula, espaço, +
2
, , =
espaço).
Exemplo 3: Gravar com diferentes cores de texto e plano de fundo
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Esse comando exibe os números pares de dois a doze. Ele usa o ForegroundColor
parâmetro para gerar texto verde escuro e o BackgroundColor
parâmetro para exibir uma tela de fundo branca.
Exemplo 4: Gravar com diferentes cores de texto e plano de fundo
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Esse comando exibe a cadeia de caracteres "Texto vermelho em branco". O texto é vermelho, conforme definido pelo ForegroundColor
parâmetro. A tela de fundo é branca, conforme definido pelo BackgroundColor
parâmetro.
Exemplo 5: suprimir a saída de 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 saída do Write-Host
cmdlet. O primeiro usa o InformationAction
parâmetro com o Ignore
Valor para suprimir a saída para o fluxo de informações.
O segundo exemplo redireciona o fluxo de informações do comando para a variável e, portanto, suprime-o $null
.
Parâmetros
-BackgroundColor
Especifica a cor do plano de fundo. Não há nenhum padrão. Os valores aceitáveis para esse parâmetro são:
- Preto
- Darkblue
- DarkGreen
- Darkcyan
- Darkred
- Darkmagenta
- DarkYellow
- Cinza
- Darkgray
- Azul
- Verde
- Ciano
- Vermelho
- Magenta
- Amarelo
- Branco
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForegroundColor
Especifica a cor do texto. Não há nenhum padrão. Os valores aceitáveis para esse parâmetro são:
- Preto
- Darkblue
- DarkGreen
- Darkcyan
- Darkred
- Darkmagenta
- DarkYellow
- Cinza
- Darkgray
- Azul
- Verde
- Ciano
- Vermelho
- Magenta
- Amarelo
- Branco
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 linhas novas 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
Objetos a serem exibidos no host.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
Especifica uma cadeia de caracteres separador a ser inserida entre objetos exibidos pelo host.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
É possível redirecionar objetos a serem gravados no host.
Saídas
None
Write-Host
envia os objetos para o host. Ele não retorna nenhum objeto. No entanto, o host exibe os objetos que Write-Host
são enviados para ele.
Observações
Ao gravar uma coleção no host, os elementos da coleção são impressos na mesma linha separada por um único espaço. Isso pode ser substituído com o parâmetro Separador .
Tipos de dados não primitivos, como objetos com propriedades, podem causar resultados inesperados e não fornecer uma saída significativa. Por exemplo,
Write-Host @{a = 1; b = 2}
será impressoSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
no host.