无需覆盖的蚂蚁复制文件

2022-09-02 02:36:13

ant中是否有任何命令可以将文件从一个文件夹结构复制到另一个文件夹结构,而无需检查上次修改的日期/时间覆盖文件。基本上,我想要从文件夹A到文件夹B的所有额外文件。也就是说:不替换文件夹 B 的任何文件,但文件夹 A 的额外文件会进入文件夹 B

我看到了“蚂蚁复制”和“蚂蚁移动”命令,但没有帮助。任何建议。


答案 1

Ant 的复制任务的覆盖属性声明:“覆盖现有文件,即使目标文件较新。

因此,将其设置为 false 只会防止它们在较新时被覆盖,但如果原始文件较新,则无论如何都会覆盖它们。

我发现解决这个问题的唯一方法是在复制之前触摸目标文件,即:

<touch>
  <fileset dir="${dest.dir}"/>
</touch>
<copy todir="${dest.dir}" overwrite="false">
  <fileset dir="${src.dir}"/>
</copy>

答案 2

你可以这样做,如下所示:

复制单个文件

<copy file="myfile.txt" tofile="mycopy.txt"/>

将单个文件复制到目录

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

将一个目录复制到另一个目录

<copy todir=“。./new/dir“><fileset dir=”src_dir“/></copy>

将一组文件复制到一个目录以及更多...

请参阅此链接以获取更多信息。复制任务


推荐