Freigeben über


about_Wildcards

Kurzbeschreibung

Beschreibt, wie Platzhalterzeichen in PowerShell verwendet werden.

Lange Beschreibung

Platzhalterzeichen stellen ein oder mehrere Zeichen dar. Sie können sie verwenden, um Wortmuster in Befehlen zu erstellen. Platzhalterausdrücke werden mit dem Operator -like oder mit jedem Parameter verwendet, der Platzhalter akzeptiert.

Um beispielsweise alle Dateien im C:\Techdocs Verzeichnis mit einer .ppt Dateinamenerweiterung abzugleichen, geben Sie Folgendes ein:

Get-ChildItem C:\Techdocs\*.ppt

In diesem Fall stellt das Platzhalterzeichen (*) beliebige Zeichen dar, die vor der Dateinamenerweiterung .ppt vorhanden sind.

Platzhalterausdrü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 Spiel Keine Übereinstimmung
* Übereinstimmung mit null oder mehr Zeichen a* aA, ag, Apfel Banane
? Entspricht einem Zeichen an dieser Position ?n an, in, auf lief
[ ] Zuordnen eines Zeichenbereichs [a-l\]ook Buch, Koch, Look nahm
[ ] Bestimmte Zeichen zuordnen [bc]ook Buchen, Kochen Hook
`* Entspricht einem beliebigen Zeichen als Literal (kein Platzhalterzeichen) 12`*4 12*4 1234

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

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

Es kann Fälle geben, in denen Sie das literale Zeichen abgleichen möchten, anstatt es als Platzhalterzeichen zu behandeln. In diesen Fällen können Sie das Graviszeichen (`) verwenden, um das Platzhalterzeichen zu maskieren, sodass es mit seinem wörtlichen Zeichenwert verglichen wird. Beispielsweise entspricht '*hello`?*' Zeichenfolgen, die "hello?" enthalten.

Viele cmdlets akzeptieren Platzhalterzeichen in Parameterwerten. Im Hilfethema zu den einzelnen cmdlets wird beschrieben, welche Parameter Platzhalterzeichen akzeptieren. Bei Parametern, die Platzhalterzeichen akzeptieren, wird die Groß-/Kleinschreibung nicht beachtet.

Sie können Wildcardzeichen in Befehlen und Skriptblöcken verwenden, z. B. zum Erstellen eines Wortmusters, das Eigenschaftswerte darstellt. Beispielsweise ruft der folgende Befehl Dienste ab, in denen der Eigenschaftswert ServiceTypeInteractive enthält.

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

Im folgenden Beispiel enthält die If-Anweisung eine Bedingung, die Platzhalterzeichen zum Suchen von Eigenschaftswerten verwendet. Wenn die -Beschreibung eines 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