如何使用Ant复制目录

Sun*_*hoo 97 java ant

我曾经习惯copydir复制目录树但不推荐使用它.我的目录包含一些子目录,其中一些包含文件,另一些包含更多子目录.

我怎样才能复制整棵树?

ery*_*ery 113

复制包含目录本身的内容.

<copy todir="${dest.dir}" >  
    <fileset dir="${src.dir.parent}">  
        <include name="${src.dir}/**"/>
    </fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)

  • 这应该是正确的答案.另一个答案是针对"如何使用Ant复制目录内容"这一问题.有一个微妙的区别. (11认同)
  • @CCC确保$ {src.dir}是$ relative*到$ {src.dir.parent},而不是完整路径 (7认同)

Omn*_*ent 112

<copy todir="${dest.dir}" >  
    <fileset dir="${src.dir}" includes="**"/>  
</copy> 
Run Code Online (Sandbox Code Playgroud)

相信会做你想要的......(递归复制完成)

  • 这将复制{src.dir}的内容,但不复制实际目录 (39认同)
  • 显然,当你想要一切时,`includes`是不必要的(参见用户回答*s1n*) (3认同)

小智 25

您只需要指定目录(没有包含属性):

<copy todir="../new/dir">
    <fileset dir="src_dir"/>
</copy>
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息和示例,请参阅手册.

  • @ s1n此命令仅将src_dir的所有内容复制到../new/dir而不是src_dir.我们如何将src_dir(目录)复制到另一个位置? (12认同)

cmc*_*nty 14

复制包含目录本身的内容.

<copy todir="${dest.dir}" >  
  <fileset dir="${src.dir.parent}" includes="${src.dir}/**"/>
</copy>
Run Code Online (Sandbox Code Playgroud)

  • 这是最简洁的选择.另请参见http://ant.apache.org/manual/Types/fileset.html. (2认同)