Leer en inglés

Compartir a través de


Write-Host

Escribe la salida personalizada en un host.

Sintaxis

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

Description

El propósito principal del cmdlet de Write-Host 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() de para escribir la salida. Por el contrario, para generar datos en la canalización, use de salida de escritura o salida implícita.

Puede especificar el color del texto mediante el parámetro ForegroundColor y puede especificar el color de fondo mediante el parámetro BackgroundColor. El parámetro Separator permite especificar una cadena que se usará para 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 le permite usar Write-Host para emitir la salida al flujo de información. Esto permite la captura de o supresión de datos escritos mediante Write-Host a la vez que se conserva la compatibilidad con versiones anteriores.

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

Ejemplos

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

PowerShell
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 parámetro NoNewline.

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

PowerShell
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 separador de se usa para agregar el , +2= de cadena (coma, espacio, +, 2, =, espacio).

Ejemplo 3: Escritura con diferentes colores de texto y fondo

PowerShell
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 parámetro ForegroundColor para generar texto verde oscuro y el parámetro BackgroundColor para mostrar un fondo blanco.

Ejemplo 4: Escritura con diferentes colores de texto y fondo

PowerShell
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 parámetro ForegroundColor. El fondo es blanco, tal como se define en el parámetro BackgroundColor.

Ejemplo 5: Suprimir la salida de Write-Host

PowerShell
# 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 cmdlet Write-Host. La primera usa el parámetro InformationAction 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 variable $null y, por tanto, se suprime. Para obtener más información, vea about_Output_Streams.

Parámetros

-BackgroundColor

Especifica el color de fondo. No hay ningún valor predeterminado. Los valores aceptables para este parámetro son:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Tipo:ConsoleColor
Valores aceptados:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ForegroundColor

Especifica el color del texto. No hay ningún valor predeterminado. Los valores aceptables para este parámetro son:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
Tipo:ConsoleColor
Valores aceptados:Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Object

Objetos que se van a mostrar en el host.

Tipo:Object
Alias:Msg, Message
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Separator

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

Tipo:Object
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

Object

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

Salidas

None

Este cmdlet no devuelve ninguna salida. 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 separador de.

  • 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} imprimirá System.Collections.DictionaryEntry System.Collections.DictionaryEntry en el host.