Ant无法删除特定模式文件的问题及正确实现方案
Ant 批量删除指定前缀文件实现方法
问题描述
需要删除${var1}/${var2}目录下所有文件名前缀为${namefile}的文件,最初使用的单文件匹配写法未生效:
<delete file="${var1}/${var2}/${namefile}.*"/>
失效原因
Ant 的delete任务file属性仅支持指定单个具体文件路径,不支持通配符批量匹配,要实现多文件筛选需要嵌套fileset规则。
最终实现方案
通过delete嵌套fileset指定匹配规则即可完成需求,代码如下:
<delete verbose="true"> <fileset dir="${var1}/${var2}" includes="${namefile}.**"/> </delete>
配置说明
verbose="true":开启后会输出所有被删除的文件路径,方便调试校验结果fileset的dir属性指定待扫描删除的根目录includes属性支持通配符匹配,${namefile}.**可匹配所有以${namefile}.开头的文件,覆盖多后缀场景(如demo.txt、demo.tar.gz均可匹配)
内容的提问来源于stack exchange,提问作者Yorwe
相关产品推荐
相关产品推荐

