Agregar una nueva línea en PowerShell

Al escribir la salida de un script en la consola, o un archivo de texto, a menudo querrás formatearlo para que sea legible. Una forma común de hacer esto en PowerShell es utilizar saltos de línea, lo que fuerza la salida de la siguiente parte en una nueva línea.

Los saltos de línea siempre son un poco complicados de lograr en cualquier lenguaje de programación o script, pero al usar`ny`rpodemos forzar el contenido fácilmente en una nueva línea.

En este artículo, le mostraré cómo utilizar los caracteres de nueva línea en PowerShell.

Nueva línea en PowerShell

Para continuar la salida en PowerShell en una nueva línea, podemos usar los caracteres especiales`ny`r. El primero se utiliza para un salto de línea y el segundo se utiliza para el retorno de carro. Ahora bien, es importante comprender esta diferencia cuando se trata de utilizar estos personajes.

El`nEl carácter (avance de línea) es el carácter de nueva línea (ASCII 10, LF), que mueve el cursor a la siguiente línea.

Write-Host "String that we want to show `non two lines"

# Result
String that we want to show 
on two lines

Ahora es importante tener en cuenta en el ejemplo anterior que no agregamos un espacio después del carácter de nueva línea. Si agrega un espacio después del carácter especial, la nueva línea comenzará con un espacio, algo que no desea.

La `r es el carácter de retorno de carro (ASCII 13, CR), que mueve el cursor de regreso al principio de la línea. Si usara esto sin el carácter de nueva línea, entonces sobrescribiría su salida existente, como puede ver en el siguiente ejemplo:

Write-Host "String that we want to show `ron a new line"

# Result
on a new linee want to show

PowerShell primero escribirá la salida "Cadena lo que queremos mostrar" y luego el cursor volverá al principio de la línea, y el resto de la salida "en una nueva línea) sobrescribirá los primeros caracteres de la cadena existente.

Combinando `r y `n

En Windows normalmente utilizamos ambos caracteres especiales para crear una nueva línea. Esto ya no es realmente necesario hoy en día, pero de esta manera puedes estar seguro de que funciona con todas las aplicaciones de Windows.

Si está utilizando los scripts de PowerShell sólo en sistemas basados ​​en Unix, puede utilizar únicamente el carácter de nueva línea.

Entonces continúe con la salida en una nueva línea en Windows, se recomienda usar lo siguiente:

Write-Host "String that we want to show `n`ron two lines"

Leer un archivo manteniendo los saltos de línea

Cuando lee un archivo de texto con PowerShell, todas las líneas se formatearán en una cadena larga de forma predeterminada. Sin embargo, podemos mantener la información de la nueva línea usando el-rawparámetro con elcmdlet.

El-rawEl parámetro leerá todo el contenido del archivo, conservando los saltos de línea originales. De esta manera, cuando genere el script, se mostrarán los saltos de línea:

$fileContent = Get-Content -Path "C:\temp\multiline.txt" -Raw

Write-Host $fileContent

Escribir comandos en una nueva línea

Otra pregunta común con PowerShell es cómo escribir una parte de un comando en una nueva línea. Los comandos largos en una sola línea son más difíciles de leer, por lo que a veces querrás continuar tu comando en una nueva línea.

La mejor manera de hacer esto es usando, este es un método en el que agregas parámetros a una tabla hash. Pero esto no siempre es posible o práctico. En estos casos podemos utilizar el`carácter para dividir el comando en una nueva línea.

El siguiente ejemplo es quizás un poco extremo, pero le da una buena idea de cómo dividir su comando en varias líneas mejora la legibilidad en PowerShell:

Get-ChildItem -Path C:\Users `
              -Recurse `
              -Filter *.txt `
              -File `
              | Where-Object { $_.CreationTime -gt (Get-Date).AddDays(-7) } `
              | Select-Object Name, CreationTime, Length `
              | Sort-Object CreationTime -Descending `
              | Format-Table -AutoSize

Concluyendo

El uso de nuevas líneas en PowerShell no solo mejora la legibilidad de la salida, sino también de los comandos largos. Cuando se trata de saltos de línea en la salida, recomiendo usar ambos caracteres especiales para una máxima compatibilidad, pero tenga en cuenta que usar solo`nTambién es posible.

Espero que te haya gustado este artículo, si tienes alguna pregunta, deja un comentario a continuación.

Related Posts