Búsqueda de sitios web

PowerShell aquí cadena | Aprenda ¿Cómo funciona PowerShell Here String?


Introducción a PowerShell aquí cadena

PowerShell Here-String es el método para insertar múltiples líneas de cadenas o comandos dentro del recinto, también conocido como matriz de cadenas, y la mejor manera de representar los datos con el texto libre y el bloque de cadenas está representado por @ ” “@ con comillas simples o dobles dentro de las cuales se pueden ejecutar texto, expresiones, subexpresiones y crear un archivo de formato diferente.

Sintaxis

PowerShell aquí: String se representa con el encerramiento @ ” “@, y algunas personas también lo refieren a la matriz PowerShell String.

¿Cómo funciona PowerShell “Here String”?

Las comillas dobles representan Powershell here-string@ ” ”@ o la comilla simple @’ ’@, pero ambas no son lo mismo; tienen diferencias significativas en cuanto a la expansión de la variable o las expresiones.

Primero, simplemente probemos nuestro recinto de cadenas de múltiples líneas para comprobar cómo funciona.

@"
This is a string block with multiple lines.
This is the second line
This is the third line
"@

Salida:

Hemos mencionado anteriormente; Este es texto libre, por lo que puede colocar una cadena en cualquier lugar dentro del bloque y se mostrará como se menciona.

@"
This is the first line
This is the second line
This is the third line
"@

Salida:

Cuando declaras el bloque de cadena aquí @ ” “@, el espacio en blanco es un factor muy importante. Puede proporcionar el espacio en blanco al inicio de la sintaxis @ ” pero no puede proporcionar el espacio en blanco al final de la sintaxis “@ se considera no válido. Vea el ejemplo a continuación,

@"
This is the first line
This is the second line
This is the third line
"@

El bloque final “@ contiene el espacio en blanco y la salida generará un error.

Here-String con comillas simples es similar al encerramiento de comillas dobles al escribir un texto. También podemos escribir la entrada de cadena anterior como se muestra a continuación.

@'
This is the first line
This is the second line
This is the third line
'@

También podemos almacenar la cadena aquí en la variable.

$str = @"
This is the first line
This is the second line
This is the third line
"@
$str

La diferencia significativa que surge entre las comillas simples y las comillas dobles aquí es cuando usamos la variable dentro de ellas. La comilla simple aquí: la cadena no puede expandir el nombre de la variable.

$val = 10
@"
This is a string
The value is : $val
"@

Salida:

Cuando se utiliza un adjunto de comillas simples.

$val = 10
@'
This is a string
The value is : $val
'@

Salida:

Puede ver que el encerramiento entre comillas simples no puede expandir el nombre de la variable. De manera similar, al expandir la variable, el comando here-string de comillas simples no logra expandirla, como se muestra a continuación.

@'
This is a string
Today's date is : $(Get-Date)
Total: $(4 + 5 + 6)
'@

Salida:

Cuando usamos la cadena aquí entre comillas dobles.

@"
This is a string
Today's date is : $(Get-Date)
Total: $(4 + 5 + 6)
"@

Salida:

El método here-String no se limita a mostrar las múltiples líneas del string o la expansión de la variable o las expresiones, sino que también podemos crear archivos CSV, JSON, HTML, etc. con sus datos para luego convertirlos al respectivo formato de archivo y se muestran en los ejemplos siguientes.

Ejemplos de PowerShell aquí cadena

A continuación se muestra el ejemplo de PowerShell aquí:

Ejemplo n.º 1: uso de Here-String para crear un archivo CSV.

Para crear un formato de archivo CSV junto con los datos, podemos usar el método Here-string, como se muestra a continuación.

$csv = @"
Name, EmpID, City, Role
Jack, 1001, Atlanta, Permanent
Thomas, 1002, Sweden, Contractor
Lisa, 1003, London, Permanent
"@
$csv | ConvertFrom-Csv

Salida:

Para almacenar la salida en CSV, puede utilizar el siguiente comando.

$csv | ConvertirDesde-Csv | Exportar-CSV C:\temp\empdata.csv -NoTypeInformation

Ejemplo n.º 2: uso del comando Here-String para crear un archivo JSON.

Para crear un archivo JSON con Here-String.

@"
{
"Type": "Fruits",
"Fruits": [
"Apple",
"Grapes",
"Mango"
],
"Country": [
"India",
"US"
]
}
"@ | ConvertFrom-Json

Salida:

Ejemplo n.º 3: creación de una tabla hash con Here-String.

Otro tipo de datos que podemos convertir es el Hashtable. Para crear una tabla hash con el comando Here-String, utilice el siguiente método.

$hash = @"
Name = Jackson
Employer = BigData
EmpID = 2032
Type = Permanent
"@
$hash | ConvertFrom-StringData

Salida:

Ejemplo #4: Uso de here-string para crear un archivo HTML.

Podemos crear un archivo HTML usando el comando here-string de PowerShell, como se muestra a continuación.

$html = @'
<!DOCTYPE html>
<html>
<head>
<title> PowerShell HTML Page </title>
</head>
<body>
<h1> This is a Heading </h1>
<p> This is a paragraph </p>
</body>
</html>
'@
$html | Out-File C:\Temp\testhtml.html

Salida:

Ejemplo n.º 5: uso de Here-String para crear una nueva función de PowerShell.

El comando Here-String es tan beneficioso que incluso puedes crear una función de PowerShell y almacenarla en el nuevo archivo. Como se muestra a continuación.

@'
function PrintName{
param(
[Parameter(Mandatory=$true)]
[String]$Name
)
Write-Output "Here-String.. Print Name: $Name"
}
'@ | Out-File C:\Temp\PrintName.ps1

Estamos usando la cadena aquí entre comillas simples porque no queremos imprimir la variable $Name, pero necesitamos almacenarla en el archivo. Si almacena directamente el archivo sin función, puede pasar parámetros directamente desde la línea de comando, como se muestra a continuación.

@'
param(
[Parameter(Mandatory=$true)]
[String]$Name
)
Write-Output "Here-String.. Print Name: $Name"
'@ | Out-File C:\Temp\PrintName.ps1

Salida:

Hay tantos ejemplos que casi puedes crear cualquier tipo de archivo, función o expresión con el comando here-string, y esta naturaleza hace que here-string sea más poderoso. No sólo en PowerShell, sino también en otros lenguajes de programación se utiliza el comando here-string por su naturaleza flexible.

Conclusión

PowerShell here-string es uno de los métodos más efectivos para escribir múltiples líneas de la cadena, incluida la expansión de variables, expresiones y subexpresiones dentro del recinto. También podemos usar la cadena aquí para crear una estructura de CSV, JSON, HTML, etc., y la letra los convierte a sus respectivos formatos.

Artículos relacionados