6

在 src 文件夹下,我有以下文件夹:daos、business 和 model。我想使用 ant 脚本删除除“model”之外的所有文件夹。所以我尝试了:

   <delete includeemptydirs="true">
    <fileset dir="${basedir}/src">
    <include name="**/*"/>
    <exclude name="model/*"/>
    </fileset>
   </delete>

所有文件夹都被删除,除了“模型”是空的。它的所有文件都被删除。

4

2 回答 2

9

致未来的谷歌人:

什么对我有用:

<fileset dir="target">
    <include name="*/"/>
    <exclude name="big_and_complex_dir/"/>
</fileset>

这删除了下面的所有内容(每个文件目录)target/,除了target/big_and_complex_dir.

我的预期目标是避免不必要的目录演练,在“ big_and_complex_dir”的情况下需要很长时间。

似乎 ant 的文件集解释具有非平凡、非直观的行为,/如果我们也打算进行递归子目录操作,我们需要关闭包含/排除路径。

于 2014-09-04T14:27:52.270 回答
9

试试吧

<delete includeemptydirs="true">
    <fileset dir="${basedir}/src">
        <include name="**/*"/>
        <exclude name="**/model/**"/>
    </fileset>
</delete>
于 2013-03-25T21:10:12.357 回答