6

srcフォルダーの下には、daos、business、modelのフォルダーがあります。「model」以外のすべてのフォルダをantスクリプトで削除したい。だから私は試しました:

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

空の「モデル」を除いて、すべてのフォルダが削除されます。そのファイルはすべて削除されます。

4

2 に答える 2

9

代わりに試してください

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

未来のグーグルへ:

私のために働いたこと:

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

これにより、を除く以下のすべて(すべてのファイルディレクトリ)が削除されました。target/target/big_and_complex_dir

私の意図した目標は、「big_and_complex_dir」の場合に非常に長い時間がかかる不要なディレクトリウォークスルーを回避することでした。

antのファイルセットの解釈には、自明ではなく直感的でない動作がある/ようです。再帰的なサブディレクトリ操作も実行する場合は、include/excludeパスを閉じる必要があります。

于 2014-09-04T14:27:52.270 に答える