Ant任务复制一个文件,如果它没有';不存在于目标位置
是否有任何Ant任务仅在目标位置不存在文件时才将文件复制到目标位置?具有覆盖属性,该属性默认设置为false。Ant任务复制一个文件,如果它没有';不存在于目标位置,ant,build,build-automation,Ant,Build,Build Automation,是否有任何Ant任务仅在目标位置不存在文件时才将文件复制到目标位置?具有覆盖属性,该属性默认设置为false。 覆盖=覆盖现有文件,即使目标文件是 更新的。必需=否;默认为false 因此,当overwrite=“false”(这是默认值)表示: <copy todir="../dest/dir"> <fileset dir="src_dir"> <exclude name="**/*.java"/> </fileset&
覆盖=覆盖现有文件,即使目标文件是 更新的。必需=否;默认为false 因此,当overwrite=“false”(这是默认值)表示:
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
或对于单个文件:<copy file="myfile.txt" todir="../some/other/dir"/>
完全符合您的要求。有三种情况:
present
选择器:
<copy todir="dest">
<fileset dir="src">
<present present="srconly" targetdir="dest" />
</fileset>
</copy>
仅当源文件不比目标文件新时才起作用。如果目标文件较新,则目标文件将被覆盖。@Subby您说得对,这是一个错误。从复制任务的源:if(forceOverwrite | |!destFile.exists()| | |(file.lastModified()-粒度>destFile.lastModified()){fileCopyMap.put(file.getAbsolutePath(),新字符串[]{destFile.getAbsolutePath()})}else{log(文件+”省略为“+destFile+”是最新的。”,Project.MSG_VERBOSE);=>很明显,如果目标文件夹不存在,会发生什么?它会创建一个目标文件夹吗?@vogash是的,它的行为类似于带有-P参数的shell mkdir命令。@老实说,我认为这不是一个bug。它在文档中。