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 stringEste 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= 12Este comando muestra los números pares del dos al doce. El parámetro Separator se utiliza para agregar la cadena , +2= (coma, espacio, +, 2,
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, -> 12Este 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> $nullEstos 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:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite- 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:
BlackDarkBlueDarkGreenDarkCyanDarkRedDarkMagentaDarkYellowGrayDarkGrayBlueGreenCyanRedMagentaYellowWhite- 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.DictionaryEntryen el host.