使用Ant中的文件名筛选器复制最新文件
我正在尝试使用Ant从目录复制最新的文件,理想情况下我也希望在文件名上有一个过滤器(例如:'*file.java'),但我不知道如何做到这一点 到目前为止,我已经包含了我的脚本,但它正在JavaScript中突破,我还没有足够的经验知道为什么使用Ant中的文件名筛选器复制最新文件,ant,copy,Ant,Copy,我正在尝试使用Ant从目录复制最新的文件,理想情况下我也希望在文件名上有一个过滤器(例如:'*file.java'),但我不知道如何做到这一点 到目前为止,我已经包含了我的脚本,但它正在JavaScript中突破,我还没有足够的经验知道为什么 <project name="test1" basedir="."> <property file="../local.properties" /> <property file="../build.prop
<project name="test1" basedir=".">
<property file="../local.properties" />
<property file="../build.properties" />
<property file="../default.properties" />
<target name="init">
<copy todir=".">
<fileset dir="/path/to/files">
<scriptselector language="javascript">
var files = basedir.list();
var mostRecent = true;
for(var i = 0; i < files.size(); i++) {
mostRecent = mostRecent && (filename >= files[i]);
}
self.setSelected(mostRecent);
</scriptselector>
</fileset>
</copy>
</target>
</project>
var files=basedir.list();
var mostRecent=真;
对于(var i=0;i=files[i]);
}
自选(多数);
编辑:刚刚意识到我从上面的JavaScript代码中得到的站点声明,该选择器“只选择目录中的最新文件,其中每个文件都有一个时间戳作为其文件名”,因此我的示例不起作用,因为它使用该名称作为修改日期。这就引出了一个问题:如何用JavaScript(或任何其他使用Ant的语言)获取文件的修改日期。答案是:
<target name="init">
<copy todir="." flatten="true">
<last>
<sort>
<date xmlns="antlib:org.apache.tools.ant.types.resources.comparators"/>
<resources>
<fileset dir="/path/to/files/">
<include name="*sdk*" />
</fileset>
</resources>
</sort>
</last>
</copy>
</target>
编辑:从第一个更改为最后一个并添加过滤器