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

Zie ook