【问题标题】:Copy current date(today) files using Ant Script使用 Ant 脚本复制当前日期(今天)文件
【发布时间】:2019-06-12 01:17:36
【问题描述】:

我想使用 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>

【问题讨论】:

    标签: file ant


    【解决方案1】:

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

    从该手册页复制示例:

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

    选择所有在 1 月午夜之前最后修改的 JAR 文件 2001 年 1 月 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>
    

    【讨论】:

    • 谢谢...我复制成功了。
    【解决方案2】:
    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多