回答
您应该只有指定的目录(SAN的包括属性):
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
见manual以获取更多详细信息和示例。
@ s1n该命令仅将src_dir的所有内容复制到../new/dir而不是src_dir。我们如何将src_dir(目录)复制到另一个位置? – 2011-12-03 19:24:53
从示例here可以使用复制任务编写一个简单的Ant文件。
<project name="MyProject" default="copy" basedir=".">
<target name="copy">
<copy todir="./new/dir"> <fileset dir="src_dir"/> </copy>
</target>
</project>
内src_dir
(不含吧)new/dir
这应该复制一切。
这只是复制目录的内容。不包括直接的内容。 。:( – ghostCoder 2011-11-21 07:55:08
复制包含目录本身的内容。
<copy todir="${dest.dir}" >
<fileset dir="${src.dir.parent}">
<include name="${src.dir}/**"/>
</fileset>
</copy>
一个很好的观点:如果源文件比目标文件更新,ant将只复制子目录。 [1]在我的情况下,sub-dirs没有被复制(我使用verbose =“true”),因为没有变化,它们已经在目的地。您可以使用“覆盖”来强制它,或者触摸源代码子目录中的一些文件。
复制包含目录本身的内容。
<copy todir="${dest.dir}" >
<fileset dir="${src.dir.parent}" includes="${src.dir}/**"/>
</copy>
这是最简洁的选项也http://ant.apache.org/manual/Types/fileset.html – Jess 2014-04-09 03:29:38
此代码应复制文件夹以及其内容。它还使用基本名称任务来避免必须执行任何手动路径分析。
<project name="Build" default="doCopy">
<property name="source.dir" value="SourceDirPathGoesHere"/>
<property name="dest.dir" value="DestinationDirPathGoesHere"/>
<target name="doCopy">
<basename property="source.dir.base.name" file="${source.dir}"/>
<copy todir="${dest.dir}">
<fileset dir="${source.dir}/.." includes="${source.dir.base.name}/**"/>
</copy>
</target>
</project>
我用下面的代码
<copy todir="${root.dir}/dist/src">
<fileset dir="${root.dir}/build/src" includes="**"/>
</copy>
这将从DIST建立复制src文件夹最终被复制。
希望这可以帮助别人。
我添加了一个更通用的模式来复制所有子文件夹。
<copy todir="${dest.dir}" >
<fileset dir="${src.dir}" includes="**/*"/>
</copy>
查看Patterns了解详情。
我使用了include标签,如下面的代码片段所示,在我的build.xml文件中复制个别jar文件到目录中。
<target name="devInstall" depends="generateXsl" description="testing">
<copy flatten="true" todir="${test}/WEB-INF/lib" overwrite="${overwrite}">
<fileset refid="buildJars"/>
<fileset dir="lib">
<include name="commons-collections-*.jar"/>
<include name="commons-io-*.jar"/>
<include name="kodo/*.jar"/>
<include name="mail*.jar"/>
<include name="activation*.jar"/>
<include name="guava*.jar"/>
<include name="jna*.jar"/>
</fileset>
</copy>
</target>
- 1. 如何使用Ant复制FTP任务的多个子目录?
- 2. 如何使用ant脚本从url复制目录?
- 3. Ant - 仅复制文件不是目录
- 4. 如何使用Boost Filesystem复制目录
- 5. 是否可以使用ant ftp任务复制空目录
- 6. 在Eclipse中使用Ant将文件复制到Tomcat目录
- 7. 使用ANT复制多个文件和目录
- 8. 如何让Ant将属性文件复制到类目录中
- 9. 使用copyItemAtPath复制目录?
- 10. 使用NSIS复制目录。
- 11. 如何复制目录?
- 12. Ant目标:复制目录和在各个文件它
- 13. 如何用Ant删除目录的dirset?
- 14. 如何用Ant编写目录结构?
- 15. 如何用xcopy复制目录?
- 16. 如何使用Maven将资源复制到src目标目录?
- 17. 如何将build目录从build目录复制到父目录?
- 18. 如何抑制ANT复制邮件
- 19. ANT根目录
- 20. 如果目标目录已存在,如何复制目录
- 21. 目录复制?
- 22. 如何在Ant中复制目录而不删除目标目录中的现有文件?
- 23. Ant:将文件从远程Windows目录复制到本地目录
- 24. Ant-从树上的一个子目录复制文件和子目录
- 25. 使用ANT将文件从本地目录复制到映射驱动器
- 26. Groovy ANT任务将目录复制到另一个位置
- 27. 将单个文件复制到Ant中的多个目录
- 28. 使用ant(build.xml)编译jni目录
- 29. 使用ant将目录添加到CVS
- 30. 如何使用ANT在删除目录之前检查目录是否存在?
听起来像你想做一个递归的副本。这就是Omnipresent提供的解决方案。如果在问题中出现“递归”这个词,更多的人可能会发现这个问题。 – Jason 2012-04-26 18:28:08