Ant目标将目录移出另一个目录

时间:2009-06-17 12:36:43

标签: file ant

将所有内容移出目标目录的最简单方法是什么?

我有basedir/parentdir/<subdir>。我有很多不同的<subdir>。我需要将它们移到与parentdir相同的级别,以便它变为basedir/<subdir>。现在,每个<subdir>都包含许多其他子目录和文件的深层树,包括空子目录。

我尝试了以下内容:

<move todir="basedir">
    <fileset dir="parentdir">
        <include name="**/*.*" />
    </fileset>
</move>

无法移动空目录 - 意味着移动后,所有<subdir>都缺少空子目录。据说“move”默认复制emptysubdirectories,所以我接下来尝试了下面的内容:

<move todir="basedir">
    <fileset dir="parentdir">
        <include name="**/*" />
        <include name="**/*.*" />
    </fileset>
</move>

虽然我确实设法移动空子目录,但奇怪的是所有<subdir>的所有直接子目录都被复制到basedir。每个<subdir>都有srctestbuild。这些内容现在位于basedir以及原始移动<subdir>

我很肯定我做错了但我不知道是什么。我接近错误的方式吗?

1 个答案:

答案 0 :(得分:11)

试试这个

<project name="moveproject" basedir="." default="moveDirs">
<target name="moveDirs">
    <move todir="${basedir}" includeEmptyDirs="yes" verbose="true">
        <fileset dir="parentdir" >
            <include name="**/*" />
        </fileset>
    </move>
</target>
</project>