Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Krótki opis
Opisuje sekwencje znaków specjalnych, które kontrolują sposób, w jaki program PowerShell interpretuje następne znaki w sekwencji.
Długi opis
Program PowerShell obsługuje zestaw sekwencji znaków specjalnych, które są używane do reprezentowania znaków, które nie są częścią standardowego zestawu znaków. Sekwencje są często znane jako sekwencje ucieczki .
Sekwencje ucieczki zaczynają się od znaku backtick, znanego jako akcent grobowy (ASCII 96) i są uwzględniane wielkość liter. Znak backtick może być również określany jako znak ucieczki .
Sekwencje ucieczki są interpretowane tylko wtedy, gdy znajdują się w ciągach o podwójnym cudzysłowie (").
Program PowerShell rozpoznaje następujące sekwencje ucieczki:
| Kolejność | Opis |
|---|---|
`0 |
Zero |
`a |
Czujny |
`b |
Backspace |
`e |
Ucieczka (dodana w programie PowerShell 6) |
`f |
Źródło danych formularzy |
`n |
Nowy wiersz |
`r |
Powrót karetki |
`t |
Karta Pozioma |
`u{x} |
Sekwencja ucieczki Unicode (dodana w programie PowerShell 6) |
`v |
Karta pionowa |
Program PowerShell ma również specjalny token do oznaczania miejsca, w którym chcesz zatrzymać analizowanie. Wszystkie znaki, które są zgodne z tym tokenem, są używane jako wartości literału, które nie są interpretowane.
Tokeny analizy specjalnej:
| Kolejność | Opis |
|---|---|
-- |
Traktuj pozostałe wartości jako argumenty, które nie są parametrami |
--% |
Zatrzymaj analizowanie wszystkich elementów, które następują poniżej |
~ |
Tylda |
Null ('0)
Znak null (`0) jest wyświetlany jako puste miejsce w danych wyjściowych programu PowerShell.
Ta funkcja umożliwia używanie programu PowerShell do odczytywania i przetwarzania plików tekstowych, które używają znaków null, takich jak zakończenie ciągu lub wskaźniki zakończenia rekordu. Znak specjalny o wartości null nie jest odpowiednikiem zmiennej $null, która przechowuje wartość null.
Alert ('a)
Znak alertu (`a) wysyła sygnał sygnału dźwiękowego do głośnika komputera.
Możesz użyć tego znaku, aby ostrzec użytkownika o zbliżającej się akcji. W poniższym przykładzie do głośnika komputera lokalnego są wysyłane dwa sygnały sygnału sygnału sygnału sygnału.
for ($i = 0; $i -le 1; $i++){"`a"}
Backspace ('b)
Znak backspace (`b) przenosi kursor z powrotem jeden znak, ale nie usuwa żadnych znaków.
W przykładzie jest zapisywany wyraz kopii zapasowej, a następnie przesuwa kursor z powrotem dwa razy. Następnie w nowej pozycji zapisuje spację, po której następuje słowo się.
"backup`b`b out"
back out
Ucieczka ('e)
Nuta
Ten znak specjalny został dodany w programie PowerShell 6.0.
Znak ucieczki (`e) jest najczęściej używany do określania wirtualnej sekwencji terminalu (sekwencji ucieczki ANSI), która modyfikuje kolor tekstu i innych atrybutów tekstu, takich jak pogrubienie i podkreślenie. Te sekwencje mogą być również używane do pozycjonowania kursora i przewijania. Host programu PowerShell musi obsługiwać sekwencje terminali wirtualnych. Możesz sprawdzić wartość logiczną $Host.UI.SupportsVirtualTerminal, aby określić, czy te sekwencje ANSI są obsługiwane.
Aby uzyskać więcej informacji na temat sekwencji ucieczki ANSI, zobacz artykuł kod ucieczki ANSI w Wikipedii.
Poniższy przykład zwraca tekst z zielonym kolorem pierwszego planu.
$fgColor = 32 # green
"`e[${fgColor}mGreen text`e[0m"
Green text
Źródło danych formularzy ('f)
Znak kanału informacyjnego formularza (`f) to instrukcja drukowania, która wysuwa bieżącą stronę i kontynuuje drukowanie na następnej stronie. Znak kanału informacyjnego formularza ma wpływ tylko na drukowane dokumenty. Nie ma to wpływu na dane wyjściowe ekranu.
Nowy wiersz ('n)
Nowy wiersz (`n) znak wstawia podział wiersza bezpośrednio po znaku.
W tym przykładzie pokazano, jak używać nowego znaku wiersza do tworzenia podziałów wierszy w Write-Host polecenia.
"There are two line breaks to create a blank line`n`nbetween the words."
There are two line breaks to create a blank line
between the words.
Powrót karetki ('r)
Znak powrotu karetki (`r) przenosi kursor wyjściowy na początek bieżącego wiersza i kontynuuje zapisywanie. Wszystkie znaki w bieżącym wierszu są zastępowane.
W tym przykładzie tekst przed zwróceniem karetki zostanie zastąpiony.
Write-Host "These characters are overwritten.`rI want this text instead "
Zwróć uwagę, że tekst przed `r znakiem nie zostanie usunięty, zostanie zastąpiony.
I want this text instead written.
Karta pozioma (nie)
Znak karty poziomej (`t) przechodzi do następnego zatrzymania karty i kontynuuje zapisywanie w tym momencie. Domyślnie konsola programu PowerShell ma zatrzymanie karty co ósmy obszar.
Ten przykład wstawia dwie karty między każdą kolumną.
"Column1`t`tColumn2`t`tColumn3"
Column1 Column2 Column3
Znak Unicode ('u{x})
Nuta
Ten znak specjalny został dodany w programie PowerShell 6.0.
Sekwencja ucieczki Unicode (`u{x}) umożliwia określenie dowolnego znaku Unicode przez reprezentację szesnastkową punktu kodu. Obejmuje to znaki Unicode powyżej podstawowej płaszczyzny wielojęzycznej (>0xFFFF), która zawiera znaki emoji, takie jak kciuki w górę (`u{1F44D}). Sekwencja ucieczki Unicode wymaga co najmniej jednej cyfry szesnastkowej i obsługuje maksymalnie sześć cyfr szesnastkowe. Maksymalna wartość szesnastkowa dla sekwencji jest 10FFFF.
W tym przykładzie zostanie wyświetlona strzałka w dół (↕).
"`u{2195}"
Karta pionowa ('v)
Znak karty pionowej (`v) przechodzi do następnego pionowego zatrzymania karty i zapisuje pozostałe dane wyjściowe w tym momencie. Renderowanie karty pionowej jest zależne od urządzenia i terminalu.
Write-Host "There is a vertical tab`vbetween the words."
W poniższych przykładach pokazano renderowane dane wyjściowe karty pionowej w niektórych typowych środowiskach.
Aplikacja hosta konsoli systemu Windows interpretuje (`v) jako znak specjalny bez dodatkowego odstępu.
There is a vertical tab♂between the words.
Terminal systemu Windows renderuje pionowy znak tabulatora jako znak powrotu karetki i kanału informacyjnego wiersza. Pozostałe dane wyjściowe są drukowane na początku następnego wiersza.
There is a vertical tab
between the words.
Na drukarkach lub w konsoli systemu Unix znak karty pionowej przechodzi do następnego wiersza i zapisuje pozostałe dane wyjściowe w tym momencie.
There is a vertical tab
between the words.
Kontynuacja wiersza
Znak backtick może być również używany na końcu wiersza jako sygnał do analizatora programu PowerShell, który polecenie będzie kontynuowane w następnym wierszu. Aby uzyskać więcej informacji, zobacz about_Parsing.
Token końca parametrów (--)
Token końca parametrów (--) wskazuje, że wszystkie argumenty po nim mają zostać przekazane w rzeczywistej formie, tak jakby cudzysłowy zostały umieszczone wokół nich. Na przykład przy użyciu -- można wyświetlić ciąg -InputObject bez użycia cudzysłowów lub interpretowania go jako parametru:
Write-Output -- -InputObject
-InputObject
Jest to konwencja określona w specyfikacji powłoki i narzędzi POSIX.
Token zatrzymania analizowania (--%)
Token stop-parsing (--%) uniemożliwia programowi PowerShell interpretowanie ciągów jako poleceń i wyrażeń programu PowerShell. Dzięki temu te ciągi mogą być przekazywane do innych programów do interpretacji.
Umieść token zatrzymania analizy po nazwie programu i przed argumentami programu, które mogą powodować błędy.
W tym przykładzie polecenie Icacls używa tokenu stop-parsing.
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
Program PowerShell wysyła następujący ciąg do Icacls.
X:\VMS /grant Dom\HVAdmin:(CI)(OI)F
W tym drugim przykładzie przekazujemy zmienną $HOME do polecenia cmd.exe /c echo dwa razy.
cmd.exe /c echo $HOME --% $HOME
Dane wyjściowe pokazują, że pierwsze wystąpienie $HOME jest interpretowane przez program PowerShell, aby wartość zmiennej została przekazana do cmd. Drugie wystąpienie $HOME następuje po tokenie zatrzymania analizowania, dlatego jest przekazywany jako ciąg literału.
C:\Users\username $HOME
Aby uzyskać więcej informacji na temat tokenu zatrzymania analizowania, zobacz about_Parsing.
Tylda (~)
Znak tyldy (~) ma specjalne znaczenie w programie PowerShell. Gdy jest używany z poleceniami programu PowerShell na początku ścieżki, program PowerShell rozszerza znak tyldy do katalogu macierzystego użytkownika. Jeśli używasz znaku tyldy w dowolnym miejscu w ścieżce, jest on traktowany jako znak literału.
Aby uzyskać więcej informacji na temat tokenu zatrzymania analizowania, zobacz about_Parsing.