是否有任何Ant任务仅在文件不存在于目标位置时才将文件复制到目标位置?
答案 0 :(得分:4)
有三种情况:
这个问题是要求副本仅在案例1中发生。默认情况下,副本发生在案例1和2中;将overwrite设置为true会使复制在所有三种情况下都发生。答案是使用present
选择器:
<copy todir="dest">
<fileset dir="src">
<present present="srconly" targetdir="dest" />
</fileset>
</copy>
答案 1 :(得分:0)
copy task有一个覆盖属性,默认设置为false。
overwrite =即使目标文件是覆盖也会覆盖现有文件 新。必需=否;默认为false。
因此,当覆盖=&#34; false&#34;时,您可以使用复制任务。 (默认),表示:
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
或单个文件:
<copy file="myfile.txt" todir="../some/other/dir"/>
完全符合您的要求。