Escribir salida en la consola de PowerShell – TrucosInformaticos

Powershell

PowerShell tiene varias formas de escribir datos y mensajes en la consola. Puede utilizar Write-Host, Write-Output, Write-Information o [console]::Comandos WriteLine. ¿Cómo usamos estos comandos para enviar datos a la consola de PowerShell y cuál es la diferencia entre ellos?

Abra la consola de PowerShell y ejecute los siguientes comandos uno por uno:

write-host "testing console output"
write-output "testing console output"

A primera vista, ambos comandos se usan para imprimir cadenas de texto en la consola de PowerShell. Aunque Write-Output y Write-Host parecían lograr el mismo resultado, en realidad funcionan de manera bastante diferente.

  • Host de escritura escribe una cadena de texto para consolarse a sí mismo;
  • Objeto de escritura envía el texto como un objeto de PowerShell al siguiente comando en la canalización.

Un análogo del comando echo del intérprete de línea de comandos (cmd.exe) es el cmdlet Write-Host. Simplemente pase lo que quiera que se muestre en la consola como el argumento Write-Host.

La peculiaridad de Write-Host es que es el único cmdlet que permite cambiar manualmente los colores de fondo y primer plano en la consola de PowerShell mediante -Color de fondo y -Color de primer plano palabras clave Están disponibles los siguientes valores de color:

  • Negro
  • Azul oscuro
  • Verde oscuro
  • cian oscuro
  • Rojo oscuro
  • Magenta oscuro
  • Amarillo oscuro
  • Gris
  • Gris oscuro
  • Azul
  • Verde
  • cian
  • Rojo
  • Magenta
  • Amarillo
  • Blanco

Por ejemplo:

Write-Host "Dark red background with White text" -BackgroundColor DarkRed -ForegroundColor White

powershell escribe en la consola

Con el -NoNuevalínea opción, puede evitar que se agregue un espacio o un carácter de nueva línea después de la salida Write-Host.

Write-Host "first line with no new line option" -NoNewline; Write-Host "second string"

salida de escritura de PowerShell

El -Separador La opción le permite agregar una cadena o carácter separador para insertar entre los objetos impresos en la consola.

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

salida de escritura

El cmdlet Write-Output envía el objeto especificado por la canalización al siguiente comando. Si el comando es el último comando en la canalización, el objeto se muestra en la consola.

Nota. En PowerShell, el comando echo es un alias para Write-Output.

Tenga en cuenta que una línea con espacios se trata como varios valores separados y se muestra línea por línea. Si pone los datos entre comillas, se interpretarán como un único valor de cadena.

salida de escritura powershell

Este cmdlet se usa comúnmente en secuencias de comandos para mostrar cadenas y otros objetos en la consola. Sin embargo, dado que el comportamiento predeterminado es mostrar objetos al final de la canalización, generalmente no es necesario usar el cmdlet. Por ejemplo, los resultados de los siguientes dos comandos serán equivalentes:

Get-Process | Write-Output

y

Get-Process

Así, la principal característica de la Salida de escritura cmdlet es que, en la mayoría de los casos, este comando no necesita especificarse explícitamente en sus scripts.

Cmdlet de salida de escritura

Puede suprimir Write-Output redirigiendo a $null:

Write-Output 'This line will not be shown' > $null

o

Write-Output 'This line will not be shown' | Out-Null

Consola de cmdlet de salida de escritura

Los cmdlets de PowerShell se utilizan con fines de depuración o para mostrar el resultado de cualquier comando o secuencia de comandos en la consola del usuario.

5/5 - (62 votos)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *