使用ANT中的开始以删除文件夹

时间:2018-08-30 04:42:06

标签: ant comparison delete-file fileset dirset

我正在比较2个文件夹A和B,并希望删除B中存在的文件夹和jar,而文件夹A中不存在。

我已经编写了删除所需文件的逻辑,但是我不想删除以“ com.ibm ”开头的目录和jar。

为此,我编写了如下删除任务:

<delete>
    <dirset dir="D://mypath/plugins<Filename to delete> excludes="**/com.ibm.*/**" />
</delete>

我尝试了以下情形下的排除:

excludes="**/com.ibm.*/**"
excludes="**/com.ibm.*"
excludes="com.ibm.*"
excludes="com.ibm.*/**"

但是对我没有任何作用(它不会删除任何文件夹/文件)。任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您应该改用fileset,并在includeemptydirs="true"中指定delete

<project default="init" name="My Project">

    <target name="init">
        <delete verbose="true" includeemptydirs="true">
            <fileset dir="/home/guest/Desktop/plugins" defaultexcludes="no">
                <exclude name="com.ibm.*"/>
                <exclude name="com.ibm.*/**"/>
            </fileset>
        </delete>
    </target>

</project>