如何仅直接复制目录下的文件而不复制其子目录?我不知道文件或子目录的名称是先验的。我已经尝试了以下方法,但无济于事:
<include name="*"> # includes all files and subdirs
===
<include name="*">
<exclude name="*/**> # or "*/" or "**"
任何帮助将不胜感激。
更新: 我最终只是添加了删除任务来删除复制的子目录:
<delete includeemptydirs="true">
<fileset dir="${targetdir}">
<type type="dir"/>
</fileset>
</delete>
答案 0 :(得分:0)
<?xml version="1.0" encoding="UTF-8"?>
<project default="copy-top-most-files-only" name="My Project">
<property name="to.dir" value="/path/to/dest/folder/" />
<property name="from.dir" value="/path/to/source/folder/" />
<target name="copy-top-most-files-only">
<copy todir="${to.dir}" includeEmptyDirs="false" >
<fileset dir="${from.dir}">
<exclude name="*/**/*" />
</fileset>
</copy>
</target>
</project>
答案 1 :(得分:0)
执行此操作的一种方法是指定<depth>
选择器,例如:
<copy todir="dest">
<fileset dir="src">
<depth max="0" />
</fileset>
</copy>
这将防止子目录被复制。
如果需要,可以将选择器与包含/排除规则结合使用。