Informationen zu Wildcards

KURZE BESCHREIBUNG

Beschreibt, wie Platzhalterzeichen in PowerShell verwendet werden.

LANGE BESCHREIBUNG

Wildcardzeichen stellen eine oder mehrere Zeichen dar. Sie können sie verwenden, um Wortmuster in Befehlen zu erstellen. Wenn Sie beispielsweise alle Dateien im C:\Techdocs Verzeichnis mit einer .ppt Dateinamenerweiterung abrufen möchten, geben Sie Folgendes ein:

Get-ChildItem C:\Techdocs\*.ppt

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

PowerShell unterstützt die folgenden Platzhalterzeichen:

Platzhalter BESCHREIBUNG Beispiel Match Keine Übereinstimmung
* Übereinstimmen von Null oder mehr Zeichen a* aA, ag, Apple Banane
? Übereinstimmen eines Zeichens in dieser Position ?n ein, in, on Lief
[ ] Übereinstimmen eines Zeichenbereichs [a-l]ook Buch, Koch, Aussehen Nahm
[ ] Übereinstimmung bestimmter Zeichen [bc]ook Buch, Koch Haken

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

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

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ß-/Kleinschreibung.

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

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

Im folgenden Beispiel enthält die If Anweisung eine Bedingung, die Wildcardzeichen verwendet, um Eigenschaftenwerte 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

about_Language_Keywords

about_If

about_Script_Blocks