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 saída somente para(host)-display, como imprimir texto colorido como ao solicitar a entrada do usuário em conjunto com o Host de Leitura.
Write-Host
usa o método ToString() para gravar a saída. Por outro lado, para gerar 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 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 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
, preservando a compatibilidade com versões anteriores.
A $InformationPreference
variável de preferência e InformationAction
o parâmetro comum não afetam Write-Host
as mensagens. A exceção a essa regra é -InformationAction Ignore
, que suprime Write-Host
efetivamente a saída. (confira "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 Separator é usado para adicionar a cadeia de , +2=
caracteres (vírgula, espaço, +
, 2
, =
, espaço).
Exemplo 3: Escrever 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: Escrever 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 "Vermelho no texto 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
- Branca
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
- Branca
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. Não são inseridos espaços ou novas linhas 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 separadora 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
o envia.
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 pelo parâmetro Separator .
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}
imprimiráSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
no host.