Tenho que admitir que sempre esqueci as intracies sintáticas dos padrões de nomenclatura de Nant (por exemplo, aqueles usados em conjuntos de arquivos). O asterisco duplo / asterisco único parece ser muito esquecível em minha mente.
Alguém pode fornecer um guia definitivo para os padrões de nomenclatura?
Respostas:
As regras são:
Outra maneira de pensar sobre isso é estrela dupla (**) corresponde à barra (/), mas estrela simples (*) não.
Digamos que você tenha os arquivos:
Então os padrões:
*.c
não corresponde a nada (não há arquivos .c no diretório atual)src/*.c
corresponde a 2 e 3*/*.c
corresponde a 2 e 3 (porque * corresponde apenas a um nível)**/*.c
corresponde a 2, 3 e 4 (porque ** corresponde a qualquer número de níveis)bar.*
jogos 1**/bar.*
corresponde a 1 e 2**/bar*.*
corresponde a 1, 2 e 4src/ba?.c
corresponde a 2 e 3fonte
**.c
combinaria?bar.txt
é implicitamente./bar.txt
(.
significa o diretório atual). Então, essa lista é realmente./bar.txt
,./src/bar.c
etc. eo./
é assumida.Aqui estão algumas correspondências de padrão extras que não são tão óbvias na documentação. Testado usando NAnt para os arquivos de exemplo na resposta do benzado:
src**
corresponde a 2, 3 e 4**.c
corresponde a 2, 3 e 4**ar.*
corresponde a 1 e 2**/bartest.c/**
jogos 4src/ba?.c/**
corresponde a 2 e 3fonte
Asteriscos duplos (
**
) são associados à correspondência dos nomes das pastas, enquanto asteriscos de símbolos únicos (* = multi characters
) e também o ponto de interrogação (? = single character
) são usados para corresponder aos nomes dos arquivos.fonte
Confira a referência de Nant . Os padrões do conjunto de arquivos são:
'*' corresponde a zero ou mais caracteres, por exemplo * .cs
'?' corresponde a um caractere, por exemplo? .cs
E '**' corresponde a uma árvore de diretório, por exemplo, src / ** / *. Cs encontrará todos os arquivos cs em qualquer subdiretório de src.
fonte