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 operator -like of met een parameter die jokertekens accepteert.

Als u bijvoorbeeld alle bestanden in de C:\Techdocs map wilt vergelijken met een .ppt bestandsnaamextensie, typt u:

Get-ChildItem C:\Techdocs\*.ppt

In dit geval vertegenwoordigt het sterretje (*) alle tekens die vóór de bestandsextensie .ppt worden weergegeven.

Jokertekenexpressies zijn eenvoudiger dan reguliere expressies. Zie about_Regular_Expressionsvoor meer informatie.

PowerShell ondersteunt de volgende jokertekens:

Jokerteken Beschrijving Voorbeeld Wedstrijd Geen wedstrijd
* Overeenkomen met nul of meer tekens a* aA, ag, Appel banaan
? Match één personage op die positie ?n een, in, aan Liep
[ ] Overeenkomen met een reeks tekens [a-l\]ook boek, kok, look Nam
[ ] Specifieke karakters matchen [bc]ook Boek, Kok haak
`* Overeenkomen met een teken als een letterlijke letter (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 een via 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 als jokerteken te behandelen. In dergelijke gevallen kunt u het teken backtick (`) gebruiken om het jokerteken te escapen, zodat het wordt vergeleken met behulp van de letterlijke tekenwaarde. '*hello`?*' komt bijvoorbeeld 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 niet 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 eigenschapswaarde ServiceTypeInteractivebevat.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

In het volgende voorbeeld bevat de instructie If een voorwaarde die jokertekens gebruikt om eigenschapswaarden te vinden. Als de beschrijving van het herstelpuntPowerShell-bevat, voegt de opdracht de waarde toe van de eigenschap CreationTime van het herstelpunt 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