Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Souvent, vous devrez concevoir une applet de commande pour s’exécuter sur un groupe de ressources plutôt que sur une seule ressource. Par exemple, une applet de commande peut avoir besoin de localiser tous les fichiers d’un magasin de données portant le même nom ou extension. Vous devez prendre en charge les caractères génériques lorsque vous concevez une applet de commande qui sera exécutée sur un groupe de ressources.
Remarque
L’utilisation de caractères génériques est parfois appelée globbing.
Applets de commande Windows PowerShell qui utilisent des caractères génériques
De nombreuses applets de commande Windows PowerShell prennent en charge les caractères génériques pour leurs valeurs de paramètre. Par exemple, presque toutes les applets de commande qui ont un paramètre Name ou Path prennent en charge les caractères génériques pour ces paramètres. (Bien que la plupart des applets de commande qui ont un paramètre Path ont également un paramètre LiteralPath qui ne prend pas en charge les caractères génériques.) La commande suivante montre comment un caractère générique est utilisé pour renvoyer toutes les applets de commande de la session active dont le nom contient le verbe Get.
Get-Command get-*
Caractères génériques pris en charge
Windows PowerShell prend en charge les caractères génériques suivants.
| Caractère générique | Description | Exemple : | Matchs | Ne correspond pas |
|---|---|---|---|---|
| * | Correspond à zéro ou plusieurs caractères, en commençant à la position spécifiée | a* |
A, ag, Apple | |
| ? | Correspond à n’importe quel caractère à la position spécifiée | ?n |
An, in, on | coururent |
| [ ] | Correspond à une plage de caractères | [a-l]ook |
livre, cuisinier, look | nook, pris |
| [ ] | Correspond aux caractères spécifiés | [bn]ook |
livre, nook | cuisinier, look |
Lorsque vous concevez des applets de commande qui prennent en charge des caractères génériques, autorisez les combinaisons de caractères génériques. Par exemple, la commande suivante utilise l’applet de commande Get-ChildItem pour récupérer tous les fichiers .txt qui se trouvent dans le dossier C :\Techdocs et qui commencent par les lettres « a » par « l ».
Get-ChildItem C:\techdocs\[a-l]\*.txt
La commande précédente utilise le caractère générique de plage [a-l] pour spécifier que le nom de fichier doit commencer par les caractères « a » par « l » et utilise le caractère générique * comme espace réservé pour tous les caractères entre la première lettre du nom de fichier et l’extension .txt.
L’exemple suivant utilise un modèle générique de plage qui exclut la lettre « d », mais inclut toutes les autres lettres de « a » à « f ».
Get-ChildItem C:\techdocs\[a-cef]\*.txt
Gestion des caractères littéraux dans des modèles génériques
Si le modèle générique que vous spécifiez contient des caractères littéraux qui ne doivent pas être interprétés comme des caractères génériques, utilisez le caractère backtick (`) comme caractère d’échappement. Lorsque vous spécifiez des caractères littéraux dans l’API PowerShell, utilisez un seul backtick. Lorsque vous spécifiez des caractères littéraux à l’invite de commandes PowerShell, utilisez deux backticks.
Par exemple, le modèle suivant contient deux crochets qui doivent être pris littéralement.
Lorsqu’elle est utilisée dans l’API PowerShell, utilisez :
- « John Smith '[*'] »
Lorsqu’elle est utilisée à partir de l’invite de commandes PowerShell :
- « John Smith ''[*''] »
Ce modèle correspond à « John Smith [Marketing] » ou « John Smith [Développement] ». Par exemple:
PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True
PS> "John Smith [Development]" -like "John Smith ``[*``]"
True
Sortie de l’applet de commande et caractères génériques
Lorsque les paramètres d’applet de commande prennent en charge les caractères génériques, l’opération génère généralement une sortie de tableau.
Parfois, il n’est pas judicieux de prendre en charge une sortie de tableau, car l’utilisateur ne peut utiliser qu’un seul élément. Par exemple, l’applet de commande Set-Location ne prend pas en charge la sortie du tableau, car l’utilisateur ne définit qu’un seul emplacement. Dans cette instance, l’applet de commande prend toujours en charge les caractères génériques, mais elle force la résolution à un emplacement unique.