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