PowerShell
Instrumentos de cuerda
Buscar..
Sintaxis
"(Cita doble)"
'Cuerda literal'
@ "
Aquí cadena
"@@ '
Literal aquí-cadena
'@
Observaciones
Las cadenas son objetos que representan texto.
Creando una cadena básica
Cuerda
Las cadenas se crean envolviendo el texto con comillas dobles. Las cadenas entre comillas dobles pueden evaluar variables y caracteres especiales.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
Para usar una comilla doble dentro de una cadena, debe escaparse usando el carácter de escape, comilla hacia atrás ( `
). Las comillas simples se pueden utilizar dentro de una cadena entre comillas dobles.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Cuerda literal
Las cadenas literales son cadenas que no evalúan variables y caracteres especiales. Se crea utilizando comillas simples.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Para usar comillas simples dentro de una cadena literal, use comillas simples dobles o una cadena literal aquí. Los qutoes dobles se pueden usar de manera segura dentro de una cadena literal
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Cadena de formato
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Las cadenas de formato se pueden usar con el operador -f
o el método estático [String]::Format(string format, args)
.NET.
Cuerda multilínea
Hay varias formas de crear una cadena multilínea en PowerShell:
Puede usar los caracteres especiales para el retorno de carro y / o la nueva línea manualmente o usar la variable
NewLine
para insertar el valor de "nueva línea" de los sistemas)"Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Cree un salto de línea mientras define una cadena (antes de cerrar la cita)
"Hello World"
Usando una cadena de aquí. Esta es la técnica más común.
@" Hello World "@
Aquí cadena
Aquí, las cadenas son muy útiles al crear cadenas multilínea. Uno de los mayores beneficios en comparación con otras cadenas multilínea es que puede usar comillas sin tener que escapar de ellas usando un backtick.
Aquí cadena
Aquí, las cadenas comienzan con @"
y un salto de línea y terminan con "@
en su propia línea ( "@
deben ser los primeros caracteres de la línea, ni siquiera los espacios en blanco / tabulador ).
@"
Simple
Multiline string
with "quotes"
"@
Literal aquí-cadena
También puede crear una cadena literal aquí utilizando comillas simples, cuando no desee que las expresiones se expandan como una cadena literal normal.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Cuerdas de concatenacion
Usando variables en una cadena
Puede concatenar cadenas utilizando variables dentro de una cadena entre comillas dobles. Esto no funciona con propiedades.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Usando el operador +
También puedes unir cadenas utilizando el operador +
.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Esto también funciona con las propiedades de los objetos.
"The title of this console is '" + $host.Name + "'"
Usando subexpresiones
La salida / resultado de una subexpresión $()
se puede utilizar en una cadena. Esto es útil al acceder a propiedades de un objeto o al realizar una expresión compleja. Las subexpresiones pueden contener varias declaraciones separadas por punto ;
coma ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Caracteres especiales
Cuando se utiliza dentro de una cadena de comillas dobles, el carácter de escape (backtick `
) representa un carácter especial.
`0 #Null
`a #Alert/Beep
`b #Backspace
`f #Form feed (used for printer output)
`n #New line
`r #Carriage return
`t #Horizontal tab
`v #Vertical tab (used for printer output)
Ejemplo:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
También puedes escapar de caracteres especiales con significados especiales:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote