Fájlegyeztetési minták referenciája
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Minta szintaxisa
A minta az új vonallal tagolt sztringek vagy lista. A fájl- és könyvtárnevek olyan mintákkal vannak összehasonlítva, amelyek belefoglalják (vagy néha kizárják) őket egy feladatba. Összetett viselkedést több minta halmozásával hozhat létre. Tekintse meg a teljes szintaxisra vonatkozó útmutató eltérését .
Karakterek egyeztetése
A legtöbb karakter pontos egyezésként használatos. Ami "pontos" egyezésnek számít, az platformfüggő: a Windows fájlrendszer kis- és nagybetűket nem érzékelyítő, ezért az "ABC" minta egy "abc" nevű fájlnak felel meg. A kis- és nagybetűket megkülönböztető fájlrendszerek esetében ez a minta és név nem egyezik meg.
A következő karakterek speciális viselkedést igényelnek.
*
egy fájl vagy könyvtárnév nulla vagy több karakterének felel meg. Lásd a példákat.?
egy fájl vagy könyvtárnév egyetlen karakterének felel meg. Lásd a példákat.[]
egy fájl- vagy könyvtárnéven belüli karakterkészletet vagy -tartományt egyezik meg. Lásd a példákat.**
rekurzív helyettesítő karakter. Például egyezik az/hello/**/*
összes leszármazottja/hello
.
Kiterjesztett globbing
?(hello|world)
- egyezés vagyhello
world
nulla vagy egyszer*(hello|world)
- nulla vagy több előfordulás+(hello|world)
- egy vagy több előfordulás@(hello|world)
- pontosan egyszer!(hello|world)
- nemhello
vagyworld
Vegye figyelembe, hogy a kiterjesztett globok nem adhatók át a címtárelválasztókra. Például +(hello/world|other)
érvénytelen.
Megjegyzések
A kezdési #
minták megjegyzésként lesznek kezelve.
Minták kizárása
A bevezető !
módosítja a kizárandó belefoglalási minta jelentését.
Felvehet egy mintát, kizárhatja annak egy részhalmazát, majd újra belefoglalhatja annak egy részhalmazát: ez az úgynevezett "interleaved" minta.
Több !
megfordítja a jelentést. Lásd a példákat.
A kizárás előtt meg kell határoznia egy belefoglalási mintát. Lásd a példákat.
Menekülés
A speciális karakterek []
körbefuttatásával elkerülheti a fájlnévben szereplő literális glob karaktereket. A literális fájlnév hello[a-z]
például a következőképpen szökhet meg hello[[]a-z]
.
Perjel
/
linuxos és macOS rendszeren az elérésiút-elválasztóként használatos.
A Legtöbb esetben a Windows-ügynökök elfogadják /
.
A Rendszer dokumentálja azokat az eseteket, amikor a Windows-elválasztót (\
) használni kell.
Példák
Példák alapszintű mintákra
Példák csillagra
1. példa: A minta *Website.sln
és a fájlok alapján:
ConsoleHost.sln
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
A minta a következőnek felelne meg:
ContosoWebsite.sln
FabrikamWebsite.sln
Website.sln
2. példa: A minta *Website/*.proj
és az útvonalak alapján:
ContosoWebsite/index.html
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/index.html
FabrikamWebsite/FabrikamWebsite.proj
A minta a következőnek felelne meg:
ContosoWebsite/ContosoWebsite.proj
FabrikamWebsite/FabrikamWebsite.proj
Kérdőjelek – példák
1. példa: A minta log?.log
és a fájlok alapján:
log1.log
log2.log
log3.log
script.sh
A minta a következőnek felelne meg:
log1.log
log2.log
log3.log
2. példa: A minta image.???
és a fájlok alapján:
image.tiff
image.png
image.ico
A minta a következőnek felelne meg:
image.png
image.ico
Példa karakterkészletre
1. példa: A minta Sample[AC].dat
és a fájlok alapján:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
A minta a következőnek felelne meg:
SampleA.dat
SampleC.dat
2. példa: A minta Sample[A-C].dat
és a fájlok alapján:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
A minta a következőnek felelne meg:
SampleA.dat
SampleB.dat
SampleC.dat
3. példa: A minta Sample[A-CEG].dat
és a fájlok alapján:
SampleA.dat
SampleB.dat
SampleC.dat
SampleD.dat
SampleE.dat
SampleF.dat
SampleG.dat
SampleH.dat
A minta a következőnek felelne meg:
SampleA.dat
SampleB.dat
SampleC.dat
SampleE.dat
SampleG.dat
Rekurzív helyettesítő karakterek példái
A minta **/*.ext
és a fájlok alapján:
sample1/A.ext
sample1/B.ext
sample2/C.ext
sample2/D.not
A minta a következőnek felelne meg:
sample1/A.ext
sample1/B.ext
sample2/C.ext
Példaminták kizárása
A minta alapján:
*
!*.xml
és fájlok:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
A minta a következőnek felelne meg:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Dupla kizárás
A minta alapján:
*
!*.xml
!!Fabrikam.xml
és fájlok:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
A minta a következőnek felelne meg:
ConsoleHost.exe
ConsoleHost.pdb
Fabrikam.dll
Fabrikam.pdb
Fabrikam.xml
Mappa kizárása
A minta alapján:
**
!sample/**
és fájlok:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml
sample/Fabrikam.dll
sample/Fabrikam.pdb
sample/Fabrikam.xml
A minta a következőnek felelne meg:
ConsoleHost.exe
ConsoleHost.pdb
ConsoleHost.xml