Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
-
*- Übereinstimmung mit null oder mehr Zeichen-
a*entsprichtaA,agundApple -
a*stimmt nicht mitbananaüberein.
-
-
?- Kombiniere einen Charakter an dieser Position-
?nentsprichtan,inundon -
?nstimmt nicht mitranüberein.
-
-
[ ]- Einen Zeichenbereich abgleichen-
[a-l]ookentsprichtbook,cookundlook -
[a-l]ookstimmt nicht mittooküberein.
-
-
[ ]– Übereinstimmung mit bestimmten Zeichen-
[bc]ookentsprichtbookundcook -
[bc]ookstimmt nicht mithooküberein.
-
-
`*– Übereinstimmung mit jedem Zeichen als Literal (kein Platzhalterzeichen)-
12`*4entspricht12*4 -
12`*4stimmt nicht mit1234überein.
-
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)"
}
}