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
"@
$strLa 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-CsvSalida:
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-JsonSalida:
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-StringDataSalida:
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.htmlSalida:
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.ps1Estamos 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.ps1Salida:
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.












