使用Ant递归删除一种类型的所有文件

时间:2011-03-16 16:21:55

标签: java ant delete-file

在ant构建脚本中,如何删除一个目录及其子目录中的所有*.java个文件?

3 个答案:

答案 0 :(得分:16)

稍微不清楚您希望删除.java文件的目录树有多深。我将提供两种方法。

完全递归删除

以递归方式删除提供的目标目录下任何位置的所有.java文件。

<delete>
    <fileset dir="${basedir}/path/to/target/directory" includes="**/*.java"/>
</delete>

仅限于目标目录及其直接子目录

删除指定目标目录中的.java个文件,以及目标目录的直接子目录中的任何目录,但不能再删除。{/ p>

<delete>
    <fileset dir="${basedir}/path/to/target/directory" includes="*.java,*/*.java"/>
</delete>

有关其他选项,请查看删除任务的documentation

小心 - 如果您为目标目录添加了错误的目录,则可能会删除您不想要的内容。考虑将目标目录的路径设置为相对于构建文件,或${basedir}

答案 1 :(得分:2)

<delete>
<fileset dir="." includes="**/*.java"/>
</delete>

上述delete任务从当前目录和所有子目录中删除扩展名为.java的所有文件。

答案 2 :(得分:-1)

<delete>    
    <filename name="**/*.java"/>
</delete>

http://ant.apache.org/manual/Types/fileset.html