在ANT中使用starts开头删除文件夹

问题描述 投票:0回答:1

我正在比较2个文件夹A和B,并希望删除B中存在的文件夹和文件夹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.*/**"

但是没有什么对我有用(它没有删除任何文件夹/文件)。任何帮助将受到高度赞赏。谢谢 !

ant comparison delete-file fileset dirset
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.