用于复制文件(如果目标位置不存在文件)的 Ant 任务



是否有任何Ant任务只在目标位置不存在文件的情况下才将文件复制到目标位置?

有三种情况:

  1. 目标文件不存在
  2. 目标文件存在,但比源文件旧
  3. 目标文件存在,并且比源文件更新

这个问题要求复制只在情况1中发生。默认情况是在情况1和情况2中进行复制;将overwrite设置为true会在所有三种情况下都进行复制。答案是使用present选择器:

<copy todir="dest">
  <fileset dir="src">
    <present present="srconly" targetdir="dest" />
  </fileset>
</copy>

复制任务有一个覆盖属性,默认设置为false

overwrite=覆盖现有文件,即使目标文件更新。必需=否;默认为false。

因此,当overwrite="false"(默认值)时,您可以完成复制任务,这意味着:

  <copy todir="../dest/dir">
    <fileset dir="src_dir">
      <exclude name="**/*.java"/>
    </fileset>
  </copy>

或者对于单个文件:

<copy file="myfile.txt" todir="../some/other/dir"/>

完全按照你的要求去做。

相关内容

  • 没有找到相关文章

最新更新