about_Wildcards
Kurze Beschreibung
Beschreibt die Verwendung von Platzhalterzeichen Karte in PowerShell.
Lange Beschreibung
Wild Karte Zeichen stellen ein oder mehrere Zeichen dar. Sie können sie verwenden, um Wortmuster in Befehlen zu erstellen. Wild Karte Ausdrücke werden mit dem -like
Operator oder mit einem beliebigen Parameter verwendet, der wild Karte s 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 Sternchen (*
) wild Karte Zeichen alle Zeichen dar, die vor der .ppt
Dateinamenerweiterung angezeigt werden.
Wild Karte Ausdrücke sind einfacher als reguläre Ausdrücke. Weitere Informationen finden Sie unter about_Regular_Expressions.
PowerShell unterstützt die folgenden Platzhalterzeichen Karte:
*
- Übereinstimmung mit null oder mehr Zeichena*
übereinstimmungenaA
, ,ag
undApple
a*
stimmt nicht übereinbanana
?
- Stimmen Sie für Zeichenfolgen an dieser Position mit einem Zeichen überein.?n
übereinstimmungenan
, ,in
undon
?n
stimmt nicht übereinran
?
- Stimmen Sie für Dateien und Verzeichnisse null oder ein Zeichen an dieser Position überein.?.txt
Übereinstimmungena.txt
undb.txt
?.txt
stimmt nicht übereinab.txt
[ ]
- Übereinstimmung mit einem Zeichenbereich[a-l]ook
übereinstimmungenbook
, ,cook
undlook
[a-l]ook
stimmt nicht übereintook
[ ]
- Übereinstimmung mit bestimmten Zeichen[bc]ook
Übereinstimmungenbook
undcook
[bc]ook
stimmt nicht übereinhook
`*
- Ein beliebiges Zeichen als Literal abgleichen (kein Wild Karte Zeichen)12`*4
stimmt mit12*4
12`*4
stimmt nicht überein1234
Sie können mehrere Freihandzeichen Karte 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
Hinweis
Der Übereinstimmungstyp "Wild Karte für Dateisystemelemente funktioniert anders als für Zeichenfolgen. Weitere Informationen finden Sie im Abschnitt "Hinweise " der DirectoryInfo.GetFiles(String, EnumerationOptions)- Methode.
Es kann Vorkommen geben, in denen Sie das Literalzeichen abgleichen möchten, anstatt es als Wild Karte Zeichen zu behandeln. In diesen Fällen können Sie das Backtickzeichen (`
) verwenden, um das Wild Karte Zeichen zu escapen, sodass es mit dem Literalzeichenwert verglichen wird. Entspricht z. B. Zeichenfolgen, '*hello`?*'
die "hello?" enthalten.
Viele Cmdlets akzeptieren wild Karte Zeichen in Parameterwerten. Im Hilfethema zu den einzelnen Cmdlets wird beschrieben, welche Parameter wild Karte Zeichen akzeptieren. Bei Parametern, die wild Karte Zeichen akzeptieren, wird die Groß-/Kleinschreibung nicht beachtet.
Sie können wild Karte Zeichen 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-Eigenschaftswert Interactive enthält.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
Im folgenden Beispiel enthält die If
Anweisung eine Bedingung, die wild Karte Zeichen verwendet, um Eigenschaftswerte zu finden. Wenn die Beschreibung des Wiederherstellungspunkts PowerShell enthält, fügt der Befehl der CreationTime-Eigenschaft des Wiederherstellungspunkts einen Wert 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)"
}
}