使用Ant复制子文件夹的内容

时间:2010-08-06 12:04:04

标签: ant copy fileset

如何使用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是否允许以这种方式对子文件夹进行分组? **代表零个或多个目录,不允许使用*作为目录名,即<fileset dir="${dir}/*/" />不可接受。

提前致谢,Yury

1 个答案:

答案 0 :(得分:11)

<copy toDir="newfolder">
  <fileset dir="folder">
    <include name="*/**"/>
    <exclude name="*"/>
  </fileset>
  <regexpmapper from="^[^/]*/(.*)$$" to="\1" handledirsep="true"/>
</copy>

如果您打算在Windows中运行此脚本,则只需指定handledirsep