Ant:使用任务处理子文件夹中的文件

Ant:使用任务处理子文件夹中的文件,ant,Ant,我有一个文件夹结构如下 + [BASE] +++ [DIR 1] ++++++ File.zip +++ [DIR 2] ++++++ File.zip .... 我在BASE中有一个build.xml。我需要一个任务,在那里我可以解压每个目录*中的文件.zip。我需要它是这样的,一个新的目录添加也应该得到处理 为了获得目录名,我尝试了以下方法,但不知道如何进一步操作 <dirset id="contents" dir="." /> <property name="prop.

我有一个文件夹结构如下

+ [BASE]
+++ [DIR 1]
++++++ File.zip
+++ [DIR 2]
++++++ File.zip
....
我在BASE中有一个build.xml。我需要一个任务,在那里我可以解压每个
目录*
中的
文件.zip
。我需要它是这样的,一个新的目录添加也应该得到处理

为了获得目录名,我尝试了以下方法,但不知道如何进一步操作

<dirset id="contents" dir="." />
<property name="prop.contents" refid="contents"/>

您可以尝试嵌入groovy脚本。大概是这样的:

<target name="unzip">
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

    <fileset id="zips" dir="." includes="**/*.zip"/>

    <groovy>
        project.references.zips.each { fileResource ->
            def file = new File(fileResource.toString())

            ant.unzip(src:file, dest:file.parent)
        }
    </groovy>
</target>

project.references.zips.each{fileResource->
def file=新文件(fileResource.toString())
unzip(src:file,dest:file.parent)
}

代码中存在一个问题,属性[“target.dir”]始终保留ZIP中的第一个值。target.dir的值应更改为奇数。。。我已经修改了解决方案。