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 entrada ao 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 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 as Write-Host
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 par de dois a doze. O parâmetro Separator é usado para adicionar a cadeia , +2=
de caracteres (vírgula, espaço, +
, 2
, =
, espaço).
Exemplo 3: Gravar com diferentes cores de texto e tela 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 par 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 "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, assim, 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. 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.
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 enviam 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 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}
será impressoSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
no host.