как использовать шаблоны именования nant / ant?

<p>я должен признать, что я всегда забывал синтаксические интракасы именования для нанта (например, те, которые используются в наборах файлов). мне кажется, что двойная звездочка/одна звездочка очень запоминаема.</p><p>может ли кто-нибудь предоставить исчерпывающее руководство по шаблонам именования?</p>

<p>правила таковы:</p><ul> <li>одиночная звезда (*) соответствует нулю или более символов <em>в пределах имени пути</em></li> <li>двойная звезда (**) соответствует нулю или более символов <em>на разных уровнях каталогов</em></li> <li>знак вопроса (?) соответствует ровно одному символу в имени пути</li> </ul><p>еще один способ думать об этом - двойная звезда (**) соответствует косой черте (/), а одиночная звезда (*) - нет.</p><p>допустим, у вас есть файлы:</p><ol> <li>bar.txt</li> <li>src/bar.c</li> <li>src/baz.c</li> <li>src/тест/bartest.c</li> </ol><p>тогда шаблоны:</p><ul> <li><code>*.c</code> ничего не соответствует (в текущем каталоге нет файлов .c)</li> <li><code>src/*.c</code> соответствует 2 и 3</li> <li><code>*/*.c</code> соответствует 2 и 3 (потому что * соответствует только одному уровню)</li> <li><code>**/*.c</code> соответствует 2, 3 и 4 (потому что ** соответствует любому количеству уровней)</li> <li><code>bar.*</code> соответствует 1</li> <li><code>**/bar.*</code> соответствует 1 и 2</li> <li><code>**/bar*.*</code> соответствует 1, 2 и 4</li> <li><code>src/ba?.c</code> соответствует 2 и 3</li> </ul>

<p>вот несколько дополнительных совпадений с образцами, которые не так очевидны из документации. протестировано с использованием nant для файлов примеров в ответе benzado:</p><ul> <li><code>src**</code> соответствует 2, 3 и 4</li> <li><code>**.c</code> соответствует 2, 3 и 4</li> <li><code>**ar.*</code> соответствует 1 и 2</li> <li><code>**/bartest.c/**</code> соответствует 4</li> <li><code>src/ba?.c/**</code> соответствует 2 и 3</li> </ul>

<p>двойные звездочки (<code>**</code>) связаны с сопоставлением имен папок, в то время как одинарные символы звездочка (<code>* = multi characters</code>), а также знак вопроса (<code>? = single character</code>) используются для сопоставления имен файлов.</p>

<p>проверьте <a href="http://nant.sourceforge.net/release/latest/help/types/fileset.html">ссылка нанта</a> . шаблоны набора файлов:</p><p>"*" соответствует нулю или более символов, например, * .cs<br> ? соответствует одному символу, например ? .cs</p><p>и "**" соответствует дереву каталогов, например src/**/*. cs найдет все файлы cs в любом подкаталоге src.</p>