Ant内置任务之delete

一、概述

        delete是Ant内置任务,用于删除单个文件,一个指定目录的所有文件及其子目录,或者一到多个资源集合指定的文件。fileset从字面上看是不包括目录的,但是在使用嵌套的文件集元素时可以通过将includeEmptyDirs属性设置为true,来删除空目录。但是这个属性对于任何包含目录的资源集合类型中是无意义的,在任何情况下都不会删除空目录。目录是否为空是通过查看文件系统决定的。由于历史原因,<delete dir="x"/>和<delete><fileset dir="x"/></delete>是不同的,它会删除包括x在内的所有文件和目录,即使是默认排除列表匹配的文件或目录。如果需要更多的控制,则需要内嵌fileset。

二、属性

        file:要删除的文件,可以指定为简单的文件名(在当前基本目录下),相对路径的文件名,或者全路径的文件名。

        dir:要删除的目录,包括所有的文件和子目录。dir属性不是用来指定file所在目录的,dir与file属性是相互独立的。不要将dir设置为“.”,“${basedir}”,或者等效的全路径名,除非真的要递归删除当前基本目录下的所有内容及基本目录本身。

        verbose:是否显示每一个删除的文件,默认为false。

        quiet:如果指定的目录不存在,不显示诊断信息,或者反应错误的修改退出状态,除非ant调用时使用了-verbose或者-debug,默认为false。设置为true时,如果文件或目录不能删除,不会报告任何错误。如果设置true等于将failonerror设置为false。

        failonerror:用来控制当出现错误时,是停止构建还是仅仅将错误输出到控制台。当为true时,会停止构建,否则会输出错误信息,默认为true。

        includeemptydirs:当使用fileset时,是否删除空目录,默认为false。

        deleteonexit:从Ant1.6.2起,如果删除文件失败,是否使用File的deleteOnExit方法。当设置为true时,JVM进程终止时会尝试删除文件。默认为false。

        removeNotFollowedSymlinks:从Ant1.8起,如果followSymlinks设置为false或者符号链接的最大数量太大,是否删除符号链接(不删除它们所链接的文件或目录)。默认为false。

        performGCOnFailedDelete:当ant删除文件失败后,会重新操作一次。如果设置为true,会在重新操作之前执行一次垃圾回收。从1.8.3起,将这个属性设置为true可以解决Windows和NFS共享目录树的一些问题。

三、简单示例

<project>
	<delete file="../tmpcopy/filter.txt" />
	<delete dir="../tmpcopy/afterfilter" />
	<delete includeEmptyDirs="true" failοnerrοr="failonerror">
		<fileset dir="../tmpcopy/new"/>
	</delete>
</project>


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值