Búsqueda de sitios web

Write-Host (Microsoft.PowerShell.Utility)


Write-Host

Módulo:
Microsoft.PowerShell.Utility

Escribe resultados personalizados en un host.

Sintaxis

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

Descripción

El objetivo principal del cmdlet Write-Host es producir una salida solo para visualización (host), como por ejemplo imprimir texto en color, como cuando se solicita al usuario una entrada junto con Read-Host. Write-Host utiliza el método ToString() para escribir la salida. Por el contrario, para enviar datos a la canalización, utilice Write-Output o salida implícita.

Puede especificar el color del texto utilizando el parámetro ForegroundColor y puede especificar el color de fondo utilizando el parámetro BackgroundColor. El parámetro Separador le permite especificar una cadena para usar para separar los objetos mostrados. El resultado particular depende del programa que aloja PowerShell.

Nota

A partir de Windows PowerShell 5.0, Write-Host es un contenedor para Write-Information. Esto le permite utilizar Write-Host para emitir resultados al flujo de información. Esto permite la captura o la supresión de datos escritos usando Write-Host preservando al mismo tiempo la compatibilidad con versiones anteriores.

La variable de preferencia $InformationPreference y el parámetro común InformationAction no afectan los mensajes Write-Host. La excepción a esta regla es -InformationAction Ignore, que suprime efectivamente la salida de Write-Host. (ver "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 'sin prueba de nueva línea' 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 separe 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 del dos al doce. El parámetro Separator se utiliza para agregar la cadena , +2= (coma, espacio, +, 2, =, espacio).

Ejemplo 3: escribir con texto y colores de fondo diferentes

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

Ejemplo 4: escribir con texto y colores de fondo diferentes

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

Red on white text.

Este comando muestra la cadena "Texto rojo sobre blanco". El texto es rojo, según lo definido por el parámetro ForegroundColor. El fondo es blanco, según lo definido por el parámetro BackgroundColor.

Ejemplo 5: suprimir la salida 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

Estos comandos suprimen eficazmente la salida del cmdlet Write-Host. El primero utiliza el parámetro InformationAction con el valor Ignore para suprimir la salida al flujo de información. El segundo ejemplo redirige el flujo de información del comando a la variable $null y así lo suprime. Para obtener más información, consulte 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:

Negro, Azul oscuro, Verde oscuro, Cian oscuro, Rojo oscuro, Magenta oscuro, Amarillo oscuro, Gris, Gris oscuro, Azul, Verde, Cian, Rojo, Magenta, Amarillo, Blanco

Posición:

Nombrado

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:

Negro, Azul oscuro, Verde oscuro, Cian oscuro, Rojo oscuro, Magenta oscuro, Amarillo oscuro, Gris, Gris oscuro, Azul, Verde, Cian, Rojo, Magenta, Amarillo, Blanco

Posición:

Nombrado

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:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

-Object

Objetos para mostrar en el host.

Tipo :

Objeto

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 para insertar entre los objetos mostrados por el host.

Tipo :

Objeto

Posición:

Nombrado

Valor predeterminado:

None

Requerido:

False

Aceptar entrada de canalización:

False

Aceptar caracteres comodín:

False

Entradas

Objeto

Puede canalizar a este cmdlet los objetos que se escribirán en el host.

Salidas

Ninguno

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

Notas

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

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

Artículos relacionados