Скопируйте содержимое подпапок с помощью Ant
Как я могу скопировать содержимое всех подпапок данной папки, используя 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 ответ
Решение
<copy toDir="newfolder">
<fileset dir="folder">
<include name="*/**"/>
<exclude name="*"/>
</fileset>
<regexpmapper from="^[^/]*/(.*)$$" to="\1" handledirsep="true"/>
</copy>
Вам нужно только указать handledirsep
если вы когда-нибудь намереваетесь запустить этот скрипт в Windows.