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)"
}
}