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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ANT中使用starts开头删除文件夹相关的知识,希望对你有一定的参考价值。

我正在比较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.*/**"

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

答案

你应该使用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>

以上是关于在ANT中使用starts开头删除文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Ant / Groovy:如何删除超过给定日期的文件,但最多保留3个[重复]

如何删除 Git 仓库中的历史提交记录

如何使用 ant build 从属性文件中删除注释属性?

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段

vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

使用Apache Ant删除带有条件的文件