Write-Host

Escribe resultados personalizados en un host.

Syntax

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Description

El Write-Host propósito principal del cmdlet es generar una salida de solo visualización para(host), como imprimir texto en color, como al solicitar al usuario la entrada junto con Read-Host. Write-Host usa el método ToString() para escribir la salida. Por el contrario, para generar datos en la canalización, use Write-Output o salida implícita.

Puede especificar el color del texto mediante el ForegroundColor parámetro y puede especificar el color de fondo mediante el BackgroundColor parámetro . El parámetro Separator permite especificar una cadena con la que separar los objetos mostrados. El resultado determinado depende del programa que hospeda PowerShell.

Nota:

A partir de Windows PowerShell 5.0, Write-Host es un contenedor para Write-Information Esto permite usar Write-Host para emitir la salida al flujo de información. Esto permite la captura o supresión de los datos escritos mediante Write-Host , a la vez que se conserva la compatibilidad con versiones anteriores.

La $InformationPreference variable de preferencia y InformationAction el parámetro común no afectan a los Write-Host mensajes. La excepción a esta regla es -InformationAction Ignore, que suprime eficazmente la Write-Host salida. (vea "Ejemplo 5")

Ejemplos

Ejemplo 1: Escribir en la consola sin agregar una nueva línea

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

Este comando muestra la cadena "no newline test" con el NoNewline parámetro .

Se escribe una segunda cadena, pero termina en la misma línea que la primera debido a la ausencia de una nueva línea que separa las cadenas.

Ejemplo 2: Escribir en la consola e incluir un separador

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

Este comando muestra los números pares de dos a doce. El parámetro Separator se usa para agregar la cadena , +2= (coma, espacio, +2, , =espacio).

Ejemplo 3: Escritura con diferentes colores de texto y fondo

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

Este comando muestra los números pares de dos a doce. Usa el ForegroundColor parámetro para generar texto verde oscuro y el BackgroundColor parámetro para mostrar un fondo blanco.

Ejemplo 4: Escritura con diferentes colores de texto y fondo

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

Este comando muestra la cadena "Rojo en texto blanco". El texto es rojo, tal como se define en el ForegroundColor parámetro . El fondo es blanco, tal como se define en el BackgroundColor parámetro .

Ejemplo 5: Suprimir la salida del host de escritura

# 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

Estos comandos suprimen eficazmente la salida del Write-Host cmdlet. La primera usa el InformationAction parámetro con el Ignore valor para suprimir la salida en el flujo de información. En el segundo ejemplo se redirige el flujo de información del comando a la $null variable y, por tanto, se suprime. Para obtener más información, consulte about_Output_Secuencias.

Parámetros

-BackgroundColor

Especifica el color de fondo. No tiene ningún valor predeterminado. Los valores permitidos para este parámetro son los siguientes:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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 el color del texto. No tiene ningún valor predeterminado. Los valores permitidos para este parámetro son los siguientes:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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

Las representaciones de cadena de los objetos de entrada se concatenan para formar la salida. No se insertan espacios ni nuevas líneas entre las cadenas de salida. No se agrega ninguna nueva línea después de la última cadena de salida.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

Objetos que se van a mostrar en el host.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Separator

Especifica una cadena separadora que se va a insertar entre los objetos mostrados por el host.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Object

Puede canalizar objetos para que se escriban en el host a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado. Envía los objetos al host. El host muestra los objetos que este cmdlet envía a él.

Notas

  • Al escribir una colección en el host, los elementos de la colección se imprimen en la misma línea separadas por un solo espacio. Esto se puede invalidar con el parámetro Separator .

  • Los tipos de datos no primitivos, como los objetos con propiedades, pueden provocar resultados inesperados y no proporcionar resultados significativos. Por ejemplo, Write-Host @{a = 1; b = 2} se imprimirá System.Collections.DictionaryEntry System.Collections.DictionaryEntry en el host.