about_Wildcards
Korte beschrijving
Hierin wordt beschreven hoe u jokertekens gebruikt in PowerShell.
Lange beschrijving
Jokertekens vertegenwoordigen een of meer tekens. U kunt ze gebruiken om woordpatronen te maken in opdrachten. Jokertekenexpressies worden gebruikt met de -like
operator of met een parameter die jokertekens accepteert.
Als u bijvoorbeeld alle bestanden in de C:\Techdocs
map wilt vergelijken met de .ppt
bestandsnaamextensie, typt u:
Get-ChildItem C:\Techdocs\*.ppt
In dit geval vertegenwoordigt het jokerteken sterretje (*
) alle tekens die vóór de .ppt
bestandsnaamextensie worden weergegeven.
Jokertekenexpressies zijn eenvoudiger dan reguliere expressies. Zie about_Regular_Expressions voor meer informatie.
PowerShell ondersteunt de volgende jokertekens:
Wildcard | Beschrijving | Voorbeeld | Match | Geen overeenkomst |
---|---|---|---|---|
* |
Nul of meer tekens vergelijken | a* |
aA, ag, Apple | Banaan |
? |
Eén teken in die positie vergelijken | ?n |
a, in, on | Liep |
[ ] |
Overeenkomen met een bereik van tekens | [a-l\]ook |
boek, kok, look | Nam |
[ ] |
Overeenkomen met specifieke tekens | [bc]ook |
boek, kok | Haak |
`* |
Een willekeurig teken vergelijken als een letterlijk teken (geen jokerteken) | 12`*4 |
12*4 | 1234 |
U kunt meerdere jokertekens opnemen in hetzelfde woordpatroon. Als u bijvoorbeeld tekstbestanden wilt zoeken met namen die beginnen met de letters a tot en met l, typt u:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Er kunnen gevallen zijn waarin u het letterlijke teken wilt vergelijken in plaats van het te behandelen als een jokerteken. In die gevallen kunt u het teken backtick (`
) gebruiken om het jokerteken te ontsnappen, zodat het wordt vergeleken met behulp van de letterlijke tekenwaarde. Komt bijvoorbeeld '*hello`?*'
overeen met tekenreeksen met 'hallo?'.
Veel cmdlets accepteren jokertekens in parameterwaarden. In het Help-onderwerp voor elke cmdlet wordt beschreven welke parameters jokertekens accepteren. Voor parameters die jokertekens accepteren, is het gebruik van jokertekens hoofdlettergevoelig.
U kunt jokertekens gebruiken in opdrachten en scriptblokken, zoals het maken van een woordpatroon dat eigenschapswaarden vertegenwoordigt. Met de volgende opdracht worden bijvoorbeeld services opgehaald waarin de waarde van de eigenschap ServiceTypeinteractive bevat.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
In het volgende voorbeeld bevat de If
instructie een voorwaarde die jokertekens gebruikt om eigenschapswaarden te zoeken. Als de beschrijving van het herstelpunt PowerShell bevat, wordt met de opdracht de waarde van de eigenschap CreationTime van het herstelpunt toegevoegd aan een logboekbestand.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}