Move Task:移动文件和目录

Move 任务用于移动文件和目录,默认时Move任务会覆盖目标文件或目录(如果目标文件或目录存在)。当关闭overwrite时,Move任务只会移动源文件比目标文件新的文件,或者目标文件不存在时才移动。在Move任务中可以引用FileSet类型。

4.9.1  Move Task的属性及功能

Move 任务具有以下属性:

(1)file:用于指定要移动的文件或目录。

(2)preservelastmodified:用于指定移动后的文件的最后修改时间与源文件相同。

(3)tofile:作用是指定移动后的文件新名称和位置。

(4)todir:作用是指定文件目录的目标位置。

(5)overwrite:用于设定当源文件的最后修改时间大于目标文件的最后修改时间时,是否用源文件覆盖目标文件。默认为true。

(6)filtering:用于定义在移动时是否允许符号过滤。

(7)flatten:作用是忽略目录结构。把各层目录下的文件移动到同一个目录下。默认为false。

(8)includeEmptyDirs:用于指定在移动时是否忽略空目录。默认为false。

(9)failonerror:用于定义当出现错误时是忽略并继续执行,还是当遇到错误时就停止执行命令。

(10)verbose:用于指定当文件移动时是否输出日志信息。

(11)encoding:用于定义在移动文件时使用的过滤器的编码方式。

(12)outputencoding:用于定义在写文件时使用的编码方式。

(13)enablemultiplemapping:用于指定是否可以使用多个映射。默认时只使用一个   映射。

(14)granularity:用于指定一个文件修改时间的毫秒数据的允许误差。因为不是所有的文件系统的修改时间都精确到毫秒数。默认时为0,如果是DOS系统则为2。

4.9.2  使用Move Task实现移动文件和目录功能的实例

(1)移动单个文件的实例:

<move file="file.orig" tofile="file.moved"/>

这个例子的作用是重命名file.org文件为file.moved。把文件移动到目录的例子如下:

<move file="file.orig" todir="dir/to/move/to"/>

这个例子的作用是把文件file.org移动到dir/to/move/to目录下。

(2)移动目录的实例:

<move todir="new/dir/to/move/to">

    <fileset dir="src/dir"/>

  </move>

这个例子的作用是把src/dir目录移动到new/dir/to/move/to目录。在Ant 1.6.3版本后,可以使用以下file属性来指定目录从而实现上面目录移动的功能:

<move file="src/dir" tofile="new/dir/to/move/to"/>

(3)通过Mapper功能对文件进行备份的例子:

<move todir="my/src/dir" includeemptydirs="false">

    <fileset dir="my/src/dir">

      <exclude name="**/*.bak"/>

    </fileset>

    <mapper type="glob" from="*" to="*.bak"/>

  </move>

这个实例的作用是把my/src/dir目录下的所有文件重命名为.bak的备份文件(.bak文件除外)。

阅读更多
个人分类: 工程构建
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭