目前我做
<foreach list="${myfolders}" target="bundle"
param="worksheet" inheritall="true"/>
在文件夹列表上执行目标“bundle”。但问题是我需要设置此列表。如何使用Ant来遍历给定父目录的所有文件夹?
如果有办法做到这一点,也排除了更好的特定文件夹。感谢。
答案 0 :(得分:10)
您可以为<dirset>
任务提供<foreach>
进行操作:
<foreach target="bundle" param="worksheet" inheritall="true">
<path>
<dirset dir="${subDir}">
<include name="*"/>
</dirset>
</path>
</foreach>
请注意,当我这样做时,不会使用list
参数。
您无法在<dirset>
下直接使用<foreach>
<fileset>
。但是,您可以将<dirset>
置于<path>
下,如上所示。 <include name="*"/>
阻止递归目录树。
答案 1 :(得分:0)
您可以使用subant
执行此操作示例:强>
<?xml version="1.0" encoding="UTF-8"?>
<project name="subant" default="subant1">
<target name="subant1">
<subant target="">
<dirset dir="." includes="*"/>
<target name="release" />
</subant>
</target>
</project>
答案 2 :(得分:-1)
我使用foreach中的ant-contrib任务来完成类似的工作。这将为列表中的每个条目调用指定的目标,每次都将该条目作为参数传递。