ant -f build.xml  执行你的build.xml文件
 
<?xml version = "1.0"?>
<project name = "fax" basedir = "./" default = "start">
<!--使用for循环必须要加上这个-->
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
 
<!-- 定义属性 -->
<var name="targetsource" value="E:/ant/testSourse" />
<var name="source" value="E:/ant/apache-ant-1.9.2" />
<var name="removePath" value="E:/ant/testcode/source.properties" />
 
 
<!-- 开始执行的目标-->
<target name="start">
<!-- 获取当天的时间-->
<tstamp>
<format property="TODAY" pattern="yyyyMMdd"/>
</tstamp>
 
<!-- 创建测试目录-->
<antcall target="mkdir" ></antcall>
 
<!-- 拷贝测试文件-->
<antcall target="copy" ></antcall>
 
<!-- 删除测试文件-->
<antcall target="del" ></antcall>
 
<!-- 压缩文件文件-->
<antcall target="zip" ></antcall>
 
<!-- 删除除了zip外的文件 -->
<delete dir = "${targetsource}/sourse_${TODAY}"></delete>
 
</target>
 
<!-- 创建测试目录-->
<target name="mkdir">
<echo message = "begin mkdir"/>
<mkdir dir="${targetsource}/sourse_${TODAY}" />
<echo message = "end mkdir"/>
</target>
 
<!-- 拷贝文件及文件夹进行测试-->
<target name="copy">
<echo message = "begin copy"/>
<copy todir="${targetsource}/sourse_${TODAY}" overwrite="true" preservelastmodified="true">
<fileset dir="${source}"/>
</copy>
<copy todir="${targetsource}/sourse_${TODAY}" overwrite="true" preservelastmodified="true">
<fileset dir="E:/ant">
<include name="*.zip"/>
</fileset>
</copy>
<echo message = "end copy"/>
</target>
 
<!-- 删除部分文件-->
<target name="del">
<echo message = "begin del"/>
<loadproperties srcFile="${removePath}"/>
<for list="${files}" param="file1">
<sequential>
<delete dir = "${targetsource}/sourse_${TODAY}/@{file1}"> </delete>
</sequential>
</for>
<delete>
<fileset dir = "${targetsource}/sourse_${TODAY}">
<include name = "*.zip"/>
<include name="/apache-ant-1.9.2/**.*"/>
</fileset>
</delete>
<echo message = "end del"/>
</target>
 
<!-- 压缩文件-->
<target name="zip">
<!--
destfile 目标文件
duplicate 打包方式(一般使用preserve)
zipfileset 打包那些文件
prefix 增加前缀(使用最佳实践)
-->
<echo message = "begin zip"/>
<zip destfile="${targetsource}/sourse_${TODAY}.zip" duplicate="preserve" basedir="${targetsource}/sourse_${TODAY}" update="true"/>
<echo message = "end zip"/>
</target>
 
 
<!--拷贝ftp上的文件-->
<target name="ftpCopy" description="ftpCopy" >
<echo message = "in ftp server=${server} userid=${userid} password=${password} port=${port} remotedir=${remotedir} "/>
<ftp action="get"
server="${server}"
userid="${userid}"
password="${password}"
port="${port}"
remotedir="${remotedir}" >
<fileset dir="${source}\\NC_HOME_${TODAY}">
<include name="**"/>
</fileset>
</ftp>
</target>
 
</project>

Ant 基本语法的使用示列的更多相关文章

  1. ServiceStack Web Service 创建与调用简单示列

    目录 ServiceStack 概念 ServiceStack Web Service 创建与调用简单示列 上篇文章介绍了ServiceStack是什么,本章进入主题,如何快速简单的搭建Service ...

  2. Mysql有没有语法可以在增加列前进行判断该列是否存在

    Mysql没有直接的语法可以在增加列前进行判断该列是否存在,需要写一个存储过程完成同样任务,下面例子是:在sales_order表中增加一列has_sent列 drop procedure if ex ...

  3. systemd的新特性及unit常见类型分析与awk用法示列

    简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 系统引导的新特性 系统引导时实现服务启动: 按需激活进程: 系统状态快照: ...

  4. java 散列与散列码探讨 ,简单HashMap实现散列映射表运行各种操作示列

    java 散列与散列码探讨 ,简单HashMap实现散列映射表运行各种操作示列 package org.rui.collection2.maps; /** * 散列与散列码 * 将土拔鼠对象与预报对象 ...

  5. Ant 常用语法及选项

    project 项目定义,一个ant文件就是一个 project,定义了项目名称,起始位置以及默认执行的 target. <project name="Easily" bas ...

  6. 智能提示含查询多列(html+JS+handler+ HttpRemoting)一、html示列 加 JS加 请求 Handler

    <html> <head> </head> <body> <form id="recordform" name="r ...

  7. TSQL--标示列、GUID 、序列

    --1. IDENTIY 列不能为空,不能设默认值,创建后不能使用ALTER TABLE TableName ALTER COLUMN修改,每张表只能有一个自增列--2. 查看当前值:SELECT I ...

  8. Flask视图之CBV示列

    from flask import views, Flask app=Flask(__name__) class loginview( views.MethodView ):   # 继承views. ...

  9. H3C路由器配置示列一

    说明: 如上图所示,192.168.0.0网段是总公司的网络,192.168.3.0和192.168.4.0网段是当前自己分公司的网络,且192.168.3.0是内网不能访问互联网,192.168.4 ...

随机推荐

  1. OC——关于KVO

    我们知道在WPF.Silverlight中都有一种双向绑定机制,如果数据模型修改了之后会立即反映到UI视图上,类似的还有如今比较流行的基于MVVM设计模式的前端框架,例如Knockout.js.其实在 ...

  2. XML(二)之DTD——XML文件约束

    前面介绍了XML的作用和基本的格式,今天我给大家分享的是关于XML的约束.废话不多说,我们直接来正题! 一.DTD简介 1.1.DTD概述 DTD(Document Type Definition,文 ...

  3. global,local,static的区别

    1.在函数内部使用global关键字定义的变量可以成为全局变量,如果该变量已经被定义了,那么他的值就是原来的值,否则就是一个新的全局变量(一句话:已存在就不再创建): <?php $a=1; f ...

  4. 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)

    Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上,安装方法很简单, ...

  5. hdu1760博弈SG

    A New Tetris Game Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. PHP中include与require的特点和区别说明

    引用文件的方法有两种:require 及 include.两种方式提供不同的使用弹性. require 的使用方法如 require("MyRequireFile.php"); . ...

  7. C语言程序设计第一作业

    C语言程序设计第一作业 实验总结 (一) 1.题目:输入圆的半径,求圆周长和面积 2.流程图: 3.测试数据及运行结果: 4.实验分析: 问题1: 出现了错误 原因:是在赋值那写反了 解决方法:应该是 ...

  8. Python操作excel表格

    用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...

  9. less使用ch1--认识语法

    @charset "utf-8"; //注释------------------------------ /*我是可以被编译出来的*/ //不能被编译出来 //变量-------- ...

  10. Android 双击退出程序实现(有侧滑界面)

    大家好,今天带来双击退出程序实现方法,我知道,网上也是有许多关于双击退出程序实现的方法,所以,听见当然是给大家带来不一样的双击退出的实现方法. 首先带来的便是关于onKeyDown和onKeyPres ...