使用Ant脚本复制当前日期(今天)文件

时间:2015-05-26 12:25:52

标签: file ant

我想使用Ant脚本从服务器复制今天的日期日志文件。我尝试过以下脚本,但它正在复制文件夹中的所有文件。但我想复制像修改日期这样的文件是今天的日期。

<project name="MyProject" default="copy" basedir=".">
  <property file="${basedir}/build.properties"/>
    <tstamp>
      <format property="time.stamp" pattern="MM-dd-yyyy"/>
    </tstamp>
    <target name="copy" description="copy files">
    <echo>copying files</echo>
    <copy todir="D:\software\Files\${time.stamp}" >
      <fileset dir="C:\GatorNet\EAServer\logs" >
        <include name="**/*.log"/>
      </fileset>
    </copy>
  </target>
</project>

2 个答案:

答案 0 :(得分:1)

您可以在文件集中使用date selector

从该手册页复制示例:

<fileset dir="${jar.path}" includes="**/*.jar">
    <date datetime="01/01/2001 12:00 AM" when="before"/>
</fileset>
     

选择在1月午夜之前最后修改的所有JAR文件   2001年1月。

对于你的情况,我认为你想要这样的事情:

<tstamp/>
<echo>${DSTAMP}</echo>
<mkdir dir="${DSTAMP}"/>
<copy todir="${DSTAMP}" includeemptydirs="no">
    <fileset dir=".">
        <date datetime="${DSTAMP}" pattern="yyyyMMdd" when="after"/>
        <include name="*"/>
    </fileset>
</copy>

答案 1 :(得分:0)

<tstamp>
    <format property="TODAY_MY" pattern="yyyyMMddHHmmss" locale="en,UK" />
</tstamp>

<echo message="todaysDate: ${TODAY_MY}"/>

<echo message="Copy war files to Dir...."/>
<copy todir="/todir/">
    <fileset dir="/fromdir/"/>
    <globmapper from="*.war" to="*.war.${TODAY_MY}"/>
</copy>