Compartilhar via


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 finalidade principal do cmdlet Write-Host é produzir saída somente para(host)-display, como imprimir texto colorido, como ao solicitar ao usuário uma entrada em conjunto com de Host de Leitura. usa o método ToString() para gravar a saída. Por outro lado, para gerar dados para o pipeline, use de Gravação/Saída ou saída implícita.

Você pode especificar a cor do texto usando o parâmetro ForegroundColor e especificar a cor da tela de fundo usando o parâmetro BackgroundColor. O parâmetro Separador permite que você especifique 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 a saída para o fluxo de informações. Isso permite que o capturar ou de supressão de dados gravados usando Write-Host preservando a compatibilidade com versões anteriores.

A variável de preferência $InformationPreference e InformationAction parâmetro comum não afetam Write-Host mensagens. A exceção a essa regra é -InformationAction Ignore, que suprime efetivamente Write-Host 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 parâmetro NoNewline.

Uma segunda cadeia de caracteres é escrita, 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 separador de é usado para adicionar a cadeia de caracteres (vírgula, espaço, , , , 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 par de dois a doze. Ele usa o parâmetro ForegroundColor para gerar texto verde escuro e o parâmetro BackgroundColor para exibir um plano de fundo branco.

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 em texto em branco". O texto é vermelho, conforme definido pelo parâmetro ForegroundColor. A tela de fundo é branca, conforme definido pelo parâmetro BackgroundColor.

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 cmdlet Write-Host. O primeiro usa o parâmetro InformationAction com o valor Ignore 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 $null e, assim, suprime-o. Para obter mais informações, consulte about_Output_Streams.

Parâmetros

-BackgroundColor

Especifica a cor da tela de fundo. Não há nenhum padrão. 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 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 este 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 cadeias de caracteres 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
Aliases:Msg, Message
Cargo:0
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Separator

Especifica uma cadeia de caracteres separador 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

Object

Você pode canalizar objetos a serem gravados no host para este 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 este cmdlet envia 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 de .

  • 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.