我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些)。在我看来,双星号/单星号的东西似乎很难忘记。
有人可以提供命名模式的明确指南吗?
答案 0 :(得分:215)
规则是:
考虑它的另一种方法是双星(**)匹配斜线(/)但单星(*)不匹配。
假设你有文件:
然后是模式:
*.c
没有匹配(当前目录中没有.c文件)src/*.c
匹配2和3 */*.c
匹配2和3(因为*只匹配一个级别)**/*.c
匹配2,3和4(因为**匹配任意数量的级别)bar.*
匹配1 **/bar.*
匹配1和2 **/bar*.*
匹配1,2和4 src/ba?.c
匹配2和3
答案 1 :(得分:14)
这里有一些额外的模式匹配,这些匹配在文档中并不那么明显。在benzado的答案中使用NAnt测试示例文件:
src**
匹配2,3和4 **.c
匹配2,3和4 **ar.*
匹配1和2 **/bartest.c/**
匹配4 src/ba?.c/**
匹配2和3 答案 2 :(得分:4)
双星号(**
)与文件夹名称匹配相关联,而单个符号星号(* = multi characters
)以及问号(? = single character
)用于匹配文件名。
答案 3 :(得分:3)
查看Nant reference。文件集模式是:
'*'匹配零个或多个字符,例如*的.cs
'?'匹配一个字符,例如?的.cs
并且'**'匹配目录树,例如src / ** / * .cs将在src的任何子目录中找到所有cs文件。