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.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Syntaxe du modèle
Un modèle est une chaîne ou une liste de chaînes délimitées par une ligne. Les noms de fichiers et de répertoires sont comparés aux modèles à inclure (ou parfois exclure) dans une tâche. Vous pouvez créer un comportement complexe en empilant plusieurs modèles. Consultez fnmatch pour obtenir un guide de syntaxe complet.
- Mettre en correspondance les caractères
- Globbing étendu
- Commentaires
- Exclure des modèles
- Échappement
- Taillader
Mettre en correspondance les caractères
La plupart des caractères sont utilisés comme correspondances exactes. Ce qui compte comme une correspondance « exacte » dépend de la plateforme : le système de fichiers Windows ne respecte pas la casse, de sorte que le modèle « ABC » correspondrait à un fichier appelé « abc ». Sur les systèmes de fichiers respectant la casse, ce modèle et ce nom ne correspondent pas.
Les caractères suivants ont un comportement spécial.
-
*correspond à zéro ou plusieurs caractères dans un nom de fichier ou de répertoire. Consultez exemples. -
?correspond à n’importe quel caractère unique dans un nom de fichier ou de répertoire. Consultez exemples. -
[]correspond à un jeu ou une plage de caractères dans un nom de fichier ou de répertoire. Consultez exemples. -
**caractère générique récursif. Par exemple,/hello/**/*correspond à tous les descendants de/hello.
Globbing étendu
-
?(hello|world)- correspondanceshelloouworldzéro fois ou une fois -
*(hello|world)- zéro ou plusieurs occurrences -
+(hello|world)- une ou plusieurs occurrences -
@(hello|world)- exactement une fois -
!(hello|world)- pashelloniworld
Remarque
Les globs étendus ne peuvent pas s’étendre sur les séparateurs de répertoires. Par exemple, +(hello/world|other) n’est pas valide.
Commentaires
Les modèles commençant par # sont traités comme des commentaires.
Exclure des modèles
L'! de début modifie la signification d’un modèle include à exclure.
Vous pouvez inclure un modèle, exclure un sous-ensemble de celui-ci, puis réinscrire un sous-ensemble de celui-ci : il s’agit d’un modèle « entrelacé ».
Plusieurs ! retournent la signification. Consultez exemples.
Vous devez définir un modèle Include avant un modèle d’exclusion. Consultez exemples.
Échappement
L’habillage de caractères spéciaux dans [] peut être utilisé pour échapper des caractères glob littérals dans un nom de fichier. Par exemple, le nom de fichier littéral hello[a-z] peut être échappé en tant que hello[[]a-z].
Barre oblique
/ est utilisé comme séparateur de chemin d’accès sur Linux et macOS.
La plupart du temps, les agents Windows acceptent /.
Les occasions où le séparateur Windows (\) doit être utilisé sont documentés.
Exemples
- Exemples de modèles de base
- Exemples astérisque
- Exemples de point d’interrogation
- Exemples de jeu de caractères
- Exemples génériques récursifs
- Exclure des exemples de modèles
- Exemples d’exclusion double
- Exemples d’exclusion de dossier
Exemples de modèles de base
Exemples astérisque
Exemple 1 : Compte tenu du modèle *Website.slnet des fichiers suivants :
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Le modèle correspond à :
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
Exemple 2 : étant donné le modèle *Website/*.proj et les chemins d’accès :
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
Le modèle correspond à :
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Exemples de point d’interrogation
Exemple 1 : Compte tenu du modèle log?.loget des fichiers suivants :
log1.log
log2.log
log3.log
script.sh
Le modèle correspond à :
log1.log
log2.log
log3.log
Exemple 2 : Compte tenu du modèle image.???et des fichiers suivants :
image.tiff
image.png
image.ico
Le modèle correspond à :
image.png
image.ico
Exemples de jeu de caractères
Exemple 1 : Compte tenu du modèle Sample[AC].datet des fichiers suivants :
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Le modèle correspond à :
SampleA.dat
SampleC.dat
Exemple 2 : Compte tenu du modèle Sample[A-C].datet des fichiers suivants :
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
Le modèle correspond à :
SampleA.dat
SampleB.dat
SampleC.dat
Exemple 3 : Compte tenu du modèle Sample[A-CEG].datet des fichiers suivants :
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
Le modèle correspond à :
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Exemples génériques récursifs
Compte tenu du modèle **/*.extet des fichiers suivants :
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
Le modèle correspond à :
sample1/A.ext
sample1/B.ext
sample2/C.ext
L’exemple suivant a été généré par Copilot. Copilot est alimenté par l’IA, donc les surprises et les erreurs sont possibles. Pour plus d’informations, consultez les FAQ sur l’utilisation générale de Copilot.
Le **/*.ext modèle glob est un modèle récursif puissant utilisé dans de nombreux systèmes de fichiers et outils (tels que bash, , zsh, Python globetc.) pour faire correspondre tous les fichiers se terminant par .ext le répertoire actif et tous les sous-répertoires, quelle que soit la profondeur imbriquée.
Voici quelques exemples de chemins d’accès qui correspondent **/*.extà :
sample1/A.extsample1/B.extsample2/C.extsample2/subdir1/D.extsample2/subdir1/subdir2/E.extsample3/F.extsample3/subdir3/G.extsample3/subdir3/subdir4/H.ext
La ** partie signifie n’importe quel nombre de répertoires (y compris zéro), et *.ext signifie tout fichier se terminant par .ext.
Exclure des exemples de modèles
Compte tenu du modèle suivant et des fichiers suivants :
*
!*.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Le modèle correspond à :
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Exemples d’exclusion double
Compte tenu du modèle suivant et des fichiers suivants :
*
!*.xml
!!Fabrikam.xml
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Le modèle correspond à :
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Exemples d’exclusion de dossier
Compte tenu du modèle suivant et des fichiers suivants :
**
!sample/**
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
Le modèle correspond à :
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml