about_Wildcards

Kurze Beschreibung

Beschreibt, wie Platzhalterzeichen in PowerShell verwendet werden.

Lange Beschreibung

Freihalterzeichen stellen mindestens ein Zeichen dar. Sie können sie verwenden, um Wörtermuster in Befehlen zu erstellen. Wildcardausdrücke werden mit dem Operator oder mit einem beliebigen Parameter verwendet, der -like Wildcards akzeptiert.

Wenn Sie beispielsweise alle Dateien im C:\Techdocs Verzeichnis mit einer .ppt Dateinamenerweiterung übereinstimmen möchten, geben Sie Folgendes ein:

Get-ChildItem C:\Techdocs\*.ppt

In diesem Fall stellt das Sternchen () Sternchen (*) alle Zeichen dar, die vor der .ppt Dateinamenerweiterung angezeigt werden.

Wildcardausdrücke sind einfacher als reguläre Ausdrücke. Weitere Informationen finden Sie unter about_Regular_Expressions.

PowerShell unterstützt die folgenden Platzhalterzeichen:

Platzhalter BESCHREIBUNG Beispiel Match Keine Übereinstimmung
* Übereinstimmung mit null oder mehr Zeichen a* aA, ag, Apple Banane
? Übereinstimmung mit einem Zeichen in dieser Position ?n ein, in, on Lief
[ ] Übereinstimmen eines Zeichenbereichs [a-l\]ook Buch, Koch, Aussehen Nahm
[ ] Übereinstimmung mit bestimmten Zeichen [bc]ook Buch, Koch Haken
`* Übereinstimmung mit einem beliebigen Zeichen als Literal (kein Wildcardzeichen) 12`*4 12*4 1234

Sie können mehrere Wildcardzeichen in dasselbe Wortmuster einschließen. Wenn Sie beispielsweise Textdateien mit Namen suchen möchten, die mit den Buchstaben a bis l beginnen, geben Sie Folgendes ein:

Get-ChildItem C:\Techdocs\[a-l]*.txt

Möglicherweise gibt es Fälle, in denen Sie dem Literalzeichen entsprechen möchten, anstatt es als Wildcardzeichen zu behandeln. In diesen Fällen können Sie das Backtick (`) -Zeichen verwenden, um das Wildcardzeichen zu escapen, sodass es mit dem Literalzeichenwert verglichen wird. Stimmt beispielsweise mit Zeichenfolgen überein, '*hello`?*' die "hello?" enthalten.

Viele Cmdlets akzeptieren Wildcardzeichen in Parameterwerten. Das Hilfethema für jedes Cmdlet beschreibt, welche Parameter Wildcardzeichen akzeptieren. Bei Parametern, die Wildcardzeichen akzeptieren, ist deren Verwendung groß-/kleinschreibungsempfindlich.

Sie können Freihalterzeichen in Befehlen und Skriptblöcken verwenden, z. B. zum Erstellen eines Wortmusters, das Eigenschaftswerte darstellt. Der folgende Befehl ruft beispielsweise Dienste ab, in denen der ServiceType-EigenschaftswertInteractive enthält.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

Im folgenden Beispiel enthält die If Anweisung eine Bedingung, die Wildcardzeichen verwendet, um Eigenschaftswerte zu finden. Wenn die Beschreibung des Wiederherstellungspunkts PowerShell enthält, fügt der Befehl den Wert der CreationTime-Eigenschaft des Wiederherstellungspunkts zu einer Protokolldatei hinzu.

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

Siehe auch