Informationen zu Regeln für Anführungszeichen

KURZE BESCHREIBUNG

Beschreibt Regeln für die Verwendung von einfachen und doppelten Anführungszeichen in PowerShell.

LANGE BESCHREIBUNG

Anführungszeichen werden verwendet, um eine Literalzeichenfolge anzugeben. Sie können eine Zeichenfolge in einfache Anführungszeichen (') oder doppelte Anführungszeichen (") einschließen.

Anführungszeichen werden auch verwendet, um eine here-Zeichenfolge zu erstellen. Eine hier Zeichenfolge ist eine Zeichenfolge mit einfachem oder doppeltem Anführungszeichen, in der Anführungszeichen wörtlich interpretiert werden. Eine here-Zeichenfolge kann mehrere Zeilen umfassen. Alle Zeilen in einer here-Zeichenfolge werden als Zeichenfolgen interpretiert, auch wenn sie nicht in Anführungszeichen eingeschlossen sind.

In Befehlen für Remotecomputer definieren Anführungszeichen die Teile des Befehls, die auf dem Remotecomputer ausgeführt werden. In einer Remotesitzung bestimmen Anführungszeichen auch, ob die Variablen in einem Befehl zuerst auf dem lokalen Computer oder auf dem Remotecomputer interpretiert werden.

ZEICHENFOLGEN MIT EINFACHEM UND DOPPELTEM ANFÜHRUNGSZEICHEN

Wenn Sie eine Zeichenfolge in doppelte Anführungszeichen (eine Zeichenfolge mit doppeltem Anführungszeichen) einschließen, werden Variablennamen, denen ein Dollarzeichen ($) vorangestellt ist, durch den Wert der Variablen ersetzt, bevor die Zeichenfolge zur Verarbeitung an den Befehl übergeben wird.

Beispiel:

$i = 5
"The value of $i is $i."

Die Ausgabe dieses Befehls lautet:

The value of 5 is 5.

Außerdem werden in einer Zeichenfolge mit doppelten Anführungszeichen Ausdrücke ausgewertet, und das Ergebnis wird in die Zeichenfolge eingefügt. Beispiel:

"The value of $(2+3) is 5."

Die Ausgabe dieses Befehls lautet:

The value of 5 is 5.

Wenn Sie eine Zeichenfolge in einfache Anführungszeichen (eine Zeichenfolge mit einfachem Anführungszeichen) einschließen, wird die Zeichenfolge genau während der Eingabe an den Befehl übergeben. Es wird keine Ersetzung durchgeführt. Beispiel:

$i = 5
'The value of $i is $i.'

Die Ausgabe dieses Befehls lautet:

The value $i is $i.

Ebenso werden Ausdrücke in Zeichenfolgen mit einfachem Anführungszeichen nicht ausgewertet. Sie werden als Literale interpretiert. Beispiel:

'The value of $(2+3) is 5.'

Die Ausgabe dieses Befehls lautet:

The value of $(2+3) is 5.

Um das Ersetzen eines Variablenwerts in einer Zeichenfolge mit doppeltem Anführungszeichen zu verhindern, verwenden Sie das Backtick-Zeichen (`)(ASCII 96), bei dem es sich um das PowerShell-Escapezeichen handelt.

Im folgenden Beispiel verhindert das Backtickzeichen, das der ersten $i Variablen vorangestellt ist, dass PowerShell den Variablennamen durch den Wert ersetzt. Beispiel:

$i = 5
"The value of `$i is $i."

Die Ausgabe dieses Befehls lautet:

The value $i is 5.

Damit doppelte Anführungszeichen in einer Zeichenfolge angezeigt werden, schließen Sie die gesamte Zeichenfolge in einfache Anführungszeichen ein. Beispiel:

'As they say, "live and learn."'

Die Ausgabe dieses Befehls lautet:

As they say, "live and learn."

Sie können auch eine Zeichenfolge mit einfachem Anführungszeichen in eine Zeichenfolge mit doppeltem Anführungszeichen einschließen. Beispiel:

"As they say, 'live and learn.'"

Die Ausgabe dieses Befehls lautet:

As they say, 'live and learn.'

Oder doppelten Sie die Anführungszeichen um einen Ausdruck mit doppeltem Anführungszeichen. Beispiel:

"As they say, ""live and learn."""

Die Ausgabe dieses Befehls lautet:

As they say, "live and learn."

Um ein einfaches Anführungszeichen in eine Zeichenfolge mit einfachem Anführungszeichen einzuschließen, verwenden Sie ein zweites aufeinanderfolgendes einfaches Anführungszeichen. Beispiel:

'don''t'

Die Ausgabe dieses Befehls lautet:

don't

Um powerShell zu erzwingen, ein doppeltes Anführungszeichen wörtlich zu interpretieren, verwenden Sie ein Backtick-Zeichen. Dadurch wird verhindert, dass PowerShell das Anführungszeichen als Zeichenfolgentrennzeichen interpretiert. Beispiel:

PS> "Use a quotation mark (`") to begin a string."
Use a quotation mark (") to begin a string.
PS> 'Use a quotation mark (`") to begin a string.'
Use a quotation mark (`") to begin a string.

Da der Inhalt von Zeichenfolgen mit einfachem Anführungszeichen wörtlich interpretiert wird, wird das Backtick-Zeichen als Literalzeichen behandelt und in der Ausgabe angezeigt.

HERE-STRINGS

Die Anführungsregeln für hier-Zeichenfolgen unterscheiden sich geringfügig.

Eine hier Zeichenfolge ist eine Zeichenfolge mit einfachem oder doppeltem Anführungszeichen, in der Anführungszeichen wörtlich interpretiert werden. Eine here-Zeichenfolge kann mehrere Zeilen umfassen. Alle Zeilen in einer here-Zeichenfolge werden als Zeichenfolgen interpretiert, auch wenn sie nicht in Anführungszeichen eingeschlossen sind.

Wie normale Zeichenfolgen werden Variablen durch ihre Werte in doppelten Anführungszeichen hier-Zeichenfolgen ersetzt. In Zeichenfolgen mit einfachem Anführungszeichen werden Variablen nicht durch ihre Werte ersetzt.

Sie können hier-Zeichenfolgen für jeden Text verwenden, aber sie sind besonders für die folgenden Arten von Text nützlich:

  • Text, der literale Anführungszeichen enthält
  • Mehrere Textzeilen, z. B. der Text in einem HTML- oder XML-Code
  • Hilfetext für ein Skript- oder Funktionsdokument

Eine here-Zeichenfolge kann eines der folgenden Formate aufweisen, wobei <Enter> das ausgeblendete Zeilenvorschub- oder Zeilenumbruchzeichen darstellt, das hinzugefügt wird, wenn Sie die EINGABETASTE drücken.

Doppelte Anführungszeichen:

@"<Enter>
<string> [string] ...<Enter>
"@

Einfache Anführungszeichen:

@'<Enter>
<string> [string] ...<Enter>
'@

In beiden Formaten muss das schließende Anführungszeichen das erste Zeichen in der Zeile sein.

Eine hier enthaltene Zeichenfolge enthält den gesamten Text zwischen den beiden ausgeblendeten Zeichen. In der hier-Zeichenfolge werden alle Anführungszeichen wörtlich interpretiert. Beispiel:

@"
For help, type "get-help"
"@

Die Ausgabe dieses Befehls lautet:

For help, type "get-help"

Die Verwendung einer here-Zeichenfolge kann die Verwendung einer Zeichenfolge in einem Befehl vereinfachen. Beispiel:

@"
Use a quotation mark (') to begin a string.
"@

Die Ausgabe dieses Befehls lautet:

Use a quotation mark (') to begin a string.

In Zeichenfolgen mit einfachem Anführungszeichen werden Variablen wörtlich interpretiert und genau reproduziert. Beispiel:

@'
The $profile variable contains the path
of your PowerShell profile.
'@

Die Ausgabe dieses Befehls lautet:

The $profile variable contains the path
of your PowerShell profile.

In doppelten Zeichenfolgen in Anführungszeichen werden Variablen durch ihre Werte ersetzt. Beispiel:

@"
Even if you have not created a profile,
the path of the profile file is:
$profile.
"@

Die Ausgabe dieses Befehls lautet:

Even if you have not created a profile,
the path of the profile file is:
C:\Users\User1\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1.

Hier-Zeichenfolgen werden in der Regel verwendet, um einer Variablen mehrere Zeilen zuzuweisen. Mit der folgenden Zeichenfolge wird der variablen $page beispielsweise eine XML-Seite zugewiesen.

$page = [XML] @"
<command:command xmlns:maml="https://schemas.microsoft.com/maml/2004/10"
xmlns:command="https://schemas.microsoft.com/maml/dev/command/2004/10"
xmlns:dev="https://schemas.microsoft.com/maml/dev/2004/10">
<command:details>
        <command:name>
               Format-Table
        </command:name>
        <maml:description>
            <maml:para>Formats the output as a table.</maml:para>
        </maml:description>
        <command:verb>format</command:verb>
        <command:noun>table</command:noun>
        <dev:version></dev:version>
</command:details>
...
</command:command>
"@

Hier-Zeichenfolgen sind auch ein praktisches Format für die Eingabe in das ConvertFrom-StringData Cmdlet, das hier-Zeichenfolgen in Hashtabellen konvertiert. Weitere Informationen finden Sie unter ConvertFrom-StringData.

SIEHE AUCH

about_Special_Characters

ConvertFrom-StringData