Ondersteuning voor jokertekens in de cmdlet-parameters
Vaak moet u een cmdlet ontwerpen die wordt uitgevoerd op een groep resources in plaats van op één resource. Een cmdlet moet bijvoorbeeld alle bestanden in een gegevensopslag zoeken die dezelfde naam of extensie hebben. U moet ondersteuning bieden voor jokertekens wanneer u een cmdlet ontwerpt die wordt uitgevoerd voor een groep resources.
Notitie
Het gebruik van jokertekens wordt ook wel globbing genoemd.
Windows PowerShell Cmdlets die gebruikmaken van jokertekens
Veel Windows PowerShell-cmdlets ondersteunen jokertekens voor hun parameterwaarden. Zo ondersteunt bijna elke cmdlet met een Name parameter of Path jokertekens voor deze parameters. (Hoewel de meeste cmdlets met een parameter ook een Path parameter hebben die geen LiteralPath jokertekens ondersteunt.) De volgende opdracht laat zien hoe een jokerteken wordt gebruikt voor het retourneren van alle cmdlets in de huidige sessie waarvan de naam de opdracht Get bevat.
Get-Command get-*
Ondersteunde jokertekens
Windows PowerShell ondersteunt de volgende jokertekens.
| Wildcard | Beschrijving | Voorbeeld | Komt overeen met | Komt niet overeen met |
|---|---|---|---|---|
| * | Komt overeen met nul of meer tekens, beginnend bij de opgegeven positie | a* |
A, ag, Apple | |
| ? | Komt overeen met een teken op de opgegeven positie | ?n |
An, in, on | Liep |
| [ ] | Komt overeen met een bereik van tekens | [a-l]ook |
boek, cook, look | nook, heeft |
| [ ] | Komt overeen met de opgegeven tekens | [bn]ook |
boek, nook | cook, look |
Wanneer u cmdlets ontwerpt die jokertekens ondersteunen, kunt u combinaties van jokertekens toestaan. De volgende opdracht gebruikt bijvoorbeeld de cmdlet om alle .txt-bestanden op te halen die zich in de map c:\Techdocs bevinden en die beginnen met de Get-ChildItem letters 'a' tot en met 'l'.
Get-ChildItem c:\techdocs\[a-l]\*.txt
De vorige opdracht maakt gebruik van het jokerteken bereik om op te geven dat de bestandsnaam moet beginnen met de tekens 'a' tot en met 'l' en het jokerteken gebruikt als tijdelijke aanduiding voor tekens tussen de eerste letter van de bestandsnaam en de [a-l] * extensie .txt.
In het volgende voorbeeld wordt een jokertekenbereikpatroon gebruikt dat de letter 'd' uitsluit, maar alle andere letters van 'a' tot en met 'f' bevat.
Get-ChildItem c:\techdocs\[a-cef]\*.txt
Letterlijke tekens in jokertekenpatronen verwerken
Als het jokerteken dat u opgeeft letterlijke tekens bevat die niet als jokertekens moeten worden geïnterpreteerd, gebruikt u het backtick-teken ( ) als ` een escape-teken. Wanneer u letterlijke tekens opgeeft in de PowerShell-API, gebruikt u één backtick. Wanneer u letterlijke tekens opgeeft bij de PowerShell-opdrachtprompt, gebruikt u twee backticks.
Het volgende patroon bevat bijvoorbeeld twee haakjes die letterlijk moeten worden genomen.
Wanneer u gebruikt in de PowerShell-API, gebruikt u:
- "John Smith ` [*']"
Bij gebruik vanaf de PowerShell-opdrachtprompt:
- "John Smith ` ` [* ` ']'
Dit patroon komt overeen met 'John Smith [Marketing]' of 'John Smith [Development]'. Bijvoorbeeld:
PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True
PS> "John Smith [Development]" -like "John Smith ``[*``]"
True
Cmdlet-uitvoer en jokertekens
Wanneer cmdlet-parameters jokertekens ondersteunen, genereert de bewerking meestal een matrixuitvoer.
Soms is het niet zinvol om een matrixuitvoer te ondersteunen, omdat de gebruiker slechts één item kan gebruiken. De Set-Location cmdlet biedt bijvoorbeeld geen ondersteuning voor matrixuitvoer omdat de gebruiker slechts één locatie in stelt. In dit geval ondersteunt de cmdlet nog steeds jokertekens, maar wordt de oplossing op één locatie gedwongen.
Zie ook
Feedback
Feedback verzenden en weergeven voor