Ant内置任务之move

一、概述

        move是ant内置任务,用于将文件移动到新的文件或者目录,或者将一组文件移动到新的目录。默认情况下,如果目标文件存在会被覆盖。当overwrite关闭时,只有当前文件比目标文件更新或者目标文件不存在时才会移动文件。资源集合可以用来选择一组要移动的文件。只支持基于文件系统的资源集合,包括fileset、filelist和path。而ant17之前只支持fileset。如果要使用资源集合,就必须设置todir属性。ant1.6.3起,file属性可以用来移动或重命名整个目录。如果tofile是已有文件,或者有与todir中同名的目录,操作会失败。

二、属性

        file:要移动的文件或目录。
        preservelastmodified:是否将移动文件的最后修改时间设置为源文件的最后修改时间,默认为false。
        tofile:要移动到的文件。
        todir:要移动到的目录。
        overwrite:即使目标文件比源文件更新也会覆盖目标文件,默认为false。
        force:从Ant1.8.2起,即使目标文件是只读的也会覆盖文件,默认为fale。
        filtering:在进行移动时是否进行过滤。具体可查看filter
        flatten:是否忽略源目录的目录结构,如果为true,所有文件拷贝到todir属性指定的目录中。使用flattenmapper可以达到相同的效果,默认为false。
        includeEmptyDirs:是否拷贝fileset中的空目录。默认为true。
        failonerror:如果为false,当文件不存在或者指向一个目录嵌套的fileset不存在,或者移动发生异常时,会记录一个警告信息,但不会停止构建,默认为true。
        quiet:ant1.8.3起,如果failonerror属性设置为false,当文件不存在或者指向一个目录嵌套的fileset不存在,或者拷贝发生异常时,如果quiet为true不会记录警告信息。默认为false。
        verbose:是否记录正在移动的文件,默认为false。
        encoding:从Ant1.5起,设置拷贝文件的编码,默认为JVM编码格式。
        outputencoding:从Ant1.6起,设置写文件时的编码,如果设置encoding属性,默认与encoding属性相同,否则与JVM编码格式相同。
        enablemultiplemappings:从Ant1.6起,是否处理所有源路径映射,如果为true,处理所有映射,如果为false,则只处理第一个文件或目录。这个属性只有在存在mapper子元素时才有效。默认为false。
        granularity:因为不是每个文件系统都支持将修改时间精确到毫秒,所以从Ant1.6.2起,可以设置修改时间允许的时间误差。默认是0毫秒,DOS系统是2秒。
        performGCOnFailedDelete:ant1.8.3起,如果ant删除文件或目录失败,会重新尝试一次。如果此属性设置为true,会在重试之前执行垃圾回收。设置为true,可以解决windows上的一些问题和NFS共享目录树。默认为true。

三、简单示例

<project>
	<move file="buildtmp.xml" todir="./dest"/>
	<move file="dest/buildtmp.xml" tofile="./buildtmp1.xml"/>
</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值