Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ant中的文件名筛选器复制最新文件_Ant_Copy - Fatal编程技术网

使用Ant中的文件名筛选器复制最新文件

使用Ant中的文件名筛选器复制最新文件,ant,copy,Ant,Copy,我正在尝试使用Ant从目录复制最新的文件,理想情况下我也希望在文件名上有一个过滤器(例如:'*file.java'),但我不知道如何做到这一点 到目前为止,我已经包含了我的脚本,但它正在JavaScript中突破,我还没有足够的经验知道为什么 <project name="test1" basedir="."> <property file="../local.properties" /> <property file="../build.prop

我正在尝试使用Ant从目录复制最新的文件,理想情况下我也希望在文件名上有一个过滤器(例如:'*file.java'),但我不知道如何做到这一点

到目前为止,我已经包含了我的脚本,但它正在JavaScript中突破,我还没有足够的经验知道为什么

<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>

编辑:从第一个更改为最后一个并添加过滤器