我如何使用Nant / Ant命名模式?

我不得不承认,我总是忘记了Nant的命名模式的句法内部结构(例如文件集中使用的那些命名模式)。 双星号/单星号的东西似乎在我心中是非常遗忘的。

有人可以提供命名模式的明确指南吗?

规则是:

  • 一个星号(*)匹配path名中的零个或多个字符
  • 双星(**)匹配目录级别上的零个或多个字符
  • 问号(?)恰好与path名中的一个字符匹配

另一种思考方式是双星(**)匹配斜线(/),但单星(*)不匹配。

假设你有这些文件:

  1. 跳回到bar.txt
  2. SRC / bar.c
  3. SRC / baz.c
  4. 的src /testing/ bartest.c

那么模式:

  • *.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

这里有一些额外的模式匹配,从文档中不太明显。 在benzado的答案中使用NAnttesting示例文件:

  • src**匹配2,3和4
  • **.c匹配2,3和4
  • **ar.*匹配1和2
  • **/bartest.c/**匹配4
  • src/ba?.c/**匹配2和3

检查南特参考 。 文件集模式是:

'*'匹配零个或多个字符,例如* .cs
'?' 匹配一个字符,例如?.cs

和'**'匹配一个目录树,例如src / ** / *,cs会在src的任何子目录下find所有的cs文件。

双星号( ** )与文件夹名称匹配关联,而单个符号星号( * = multi characters )以及问号( ? = single character )用于匹配文件名称。