Write-Host
Grava a saída personalizada em um host.
Sintaxe
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
A Write-Host
principal finalidade do cmdlet é produzir uma saída somente para exibição (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 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 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 as Write-Host
mensagens. A exceção a essa 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 string , +2=
(vírgula, espaço, +
, 2
, =
, espaço).
Exemplo 3: Escreva 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
Este 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 um plano de fundo branco.
Exemplo 4: Escreva 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 no branco". O texto é vermelho, conforme definido pelo ForegroundColor
parâmetro. O plano de 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 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 $null
variável e, assim, o suprime. Para obter mais informações, consulte about_Output_Streams.
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:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Tipo: | ConsoleColor |
Valores aceitos: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ForegroundColor
Especifica a cor do texto. Não há nenhum padrão. Os valores aceitáveis para esse parâmetro são:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Tipo: | ConsoleColor |
Valores aceitos: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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 nova linha é inserido entre as strings de saída. Nenhuma nova linha é adicionada após a última cadeia de caracteres de saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Object
Objetos a serem exibidos no host.
Tipo: | Object |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Separator
Especifica uma sequência separadora a ser inserida entre os objetos exibidos pelo host.
Tipo: | Object |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar objetos a serem gravados no host para esse cmdlet.
Saídas
None
Esse 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.
Observações
Ao gravar uma coleção no 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
no host.