Szukaj…
Składnia
„Ciąg (cytowany)”
„Dosłowny ciąg”
@ ”
Tutaj ciąg
„@@ ”
Dosłowny ciąg tutaj
„@
Uwagi
Ciągi to obiekty reprezentujące tekst.
Tworzenie podstawowego ciągu
Strunowy
Ciągi są tworzone przez zawijanie tekstu podwójnymi cudzysłowami. Ciągi podwójnie cytowane mogą analizować zmienne i znaki specjalne.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
Aby użyć podwójnego cudzysłowu w ciągu, należy go uciec za pomocą znaku zmiany znaczenia, backtick ( `
). Pojedyncze cudzysłowy mogą być używane wewnątrz ciągu podwójnego cudzysłowu.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Dosłowny ciąg
Ciągi literalne to ciągi, które nie oceniają zmiennych i znaków specjalnych. Jest tworzony przy użyciu pojedynczych cudzysłowów.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Aby użyć pojedynczych cudzysłowów w literałowym łańcuchu, użyj podwójnych pojedynczych cudzysłowów lub literałowego łańcucha tutaj. Podwójnych qutoes można bezpiecznie używać w dosłownym ciągu
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Formatuj ciąg
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Ciągów formatujących można używać z operatorem -f
lub metodą statyczną [String]::Format(string format, args)
.NET.
Ciąg wielowierszowy
Istnieje wiele sposobów tworzenia ciągu wielowierszowego w programie PowerShell:
Możesz użyć znaków specjalnych do powrotu karetki i / lub nowej linii ręcznie lub użyć zmiennej środowiskowej
NewLine
aby wstawić wartość systemową „nowej linii”)"Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Utwórz podział linii podczas definiowania łańcucha (przed zamknięciem cytatu)
"Hello World"
Za pomocą ciągu tutaj. Jest to najczęstsza technika.
@" Hello World "@
Tutaj ciąg
Ciągi tutaj są bardzo przydatne podczas tworzenia ciągów wielowierszowych. Jedną z największych korzyści w porównaniu z innymi ciągami wielowierszowymi jest to, że możesz używać cudzysłowów bez konieczności ucieczki przed nimi za pomocą backsticka.
Tutaj ciąg
Ciągi znaków zaczynają się od @"
i łamią linię, a kończą na "@
w swojej linii ( "@
muszą być pierwszymi znakami w linii, nawet białymi spacjami / tabulatorami ).
@"
Simple
Multiline string
with "quotes"
"@
Dosłowny ciąg tutaj
Możesz także utworzyć literalny ciąg tutaj, używając pojedynczych cudzysłowów, gdy nie chcesz, aby wyrażenia były rozwijane tak jak zwykły ciąg literalny.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Łańcuchy łączące
Używanie zmiennych w ciągu
Ciągi znaków można łączyć za pomocą zmiennych wewnątrz ciągu podwójnego cudzysłowu. To nie działa z właściwościami.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Korzystanie z operatora +
Możesz także łączyć łańcuchy za pomocą operatora +
.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Działa to również z właściwościami obiektów.
"The title of this console is '" + $host.Name + "'"
Korzystanie z podwyrażeń
Dane wyjściowe / wynik podwyrażeń $()
mogą być użyte w ciągu. Jest to przydatne podczas uzyskiwania dostępu do właściwości obiektu lub wykonywania złożonego wyrażenia. Podwyrażenia mogą zawierać wiele instrukcji oddzielonych średnikiem ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Znaki specjalne
W przypadku użycia w cudzysłowie ciąg znaków ucieczki (backtick `
) reprezentuje znak specjalny.
`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)
Przykład:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
Możesz także uciec od znaków specjalnych o specjalnych znaczeniach:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote