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
?
- Übereinstimmung mit einem Zeichen an dieser Position?n
übereinstimmungenan
, ,in
undon
?n
stimmt nicht übereinran
[ ]
- Ü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
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)"
}
}
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für