Write-Host
Escribe resultados personalizados en un host.
Sintaxis
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_Streams.
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
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 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
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 |
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
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.