Скопируйте содержимое подпапок с помощью Ant - PullRequest
10 голосов
/ 06 августа 2010

Как я могу скопировать содержимое всех подпапок данной папки, используя Ant?

т.е. у меня такая структура папок

folder/
folder/sub1/1.txt
folder/sub1/f1/1.txt
folder/sub2/2.txt
...

Я не знаю точных имен подпапок.И мне нужно скопировать контент из всех них в одну папку (сохранение структуры контента, то есть копирование всех файлов в один каталог с помощью flatten не является решением).Мне нужно получить

newfolder/1.txt
newfolder/1/1.txt
newfolder/2.txt
...

Позволяет ли набор файлов группировать подпапки таким образом?** означает ноль или более каталогов, и использование * в качестве имени каталога запрещено, т. Е. <fileset dir="${dir}/*/" /> недопустимо.

Заранее спасибо, Юрий

1 Ответ

11 голосов
/ 07 августа 2010
<copy toDir="newfolder">
  <fileset dir="folder">
    <include name="*/**"/>
    <exclude name="*"/>
  </fileset>
  <regexpmapper from="^[^/]*/(.*)$$" to="\1" handledirsep="true"/>
</copy>

Вам нужно только указать handledirsep, если вы когда-нибудь намереваетесь запустить этот скрипт в Windows.

...