Escape-Sequenzen
Escape-Sequenzen sind spezielle Zeichenkombinationen, mit denen sich Steuerzeichen innerhalb von Strings darstellen lassen, z. B. Zeilenumbrüche oder Tabs.
In PowerShell wird dafür das Backtick-Zeichen verwendet:
`
Grundlagen
Escape-Sequenzen funktionieren nur in doppelt-quoted Strings:
"Text`nNeue Zeile" # funktioniert
'Text`nNeue Zeile' # kein Effekt
Wichtige Escape-Sequenzen
| Sequenz | Bedeutung | Beschreibung |
|---|---|---|
`n |
New Line | Zeilenumbruch |
`r |
Carriage Return | Cursor an den Anfang der Zeile |
`r`n |
Windows-Zeilenumbruch | Kombination aus CR + LF |
`t |
Tab | Tabulator |
| `` | Backtick | Gibt ein Backtick-Zeichen aus |
`" |
Anführungszeichen | Doppelte Quotes innerhalb von Strings |
Beispiele
Zeilenumbruch
"Hallo`nWelt"
Ausgabe:
Hallo
Welt
Tabulator
"Name`tAlter"
Ausgabe:
Name Alter
Windows-Zeilenumbruch
"Hallo`r`nWelt"
Verhalten in Dateien
Beim Arbeiten mit Dateien (z. B. Out-File, Set-Content) wird häufig `r`n verwendet, da dies dem Windows-Standard entspricht.
Typische Stolperfallen
1. Falsche Anführungszeichen
'Hallo`nWelt' # ❌ kein Umbruch
2. Backtick übersehen
Das Escape-Zeichen ist kein Apostroph ('), sondern:
`
3. Unsichtbare Zeichen
Escape-Sequenzen sind nicht sichtbar im Code, wirken aber auf die Ausgabe. Das macht Debugging manchmal… sagen wir… charakterbildend.
Alternative Methoden
.Split() (kein Escape, aber oft verwandt)
"text1,text2" -split ","
Oder:
"text1,text2".Split(",")
.Split() ist eine .NET String-Methode, kein Escape-Mechanismus, wird aber oft im gleichen Kontext verwendet, wenn Strings verarbeitet werden.
Fazit
Escape-Sequenzen sind ein einfacher Weg, um Strings zu formatieren, ohne sie über mehrere Zeilen schreiben zu müssen.
Das wichtigste:
-
Backtick = Escape
-
Nur in
" "aktiv -
`nfür schnellen Zeilenumbruch -
`r`nfür Windows-Kompatibilität