【发布时间】:2011-02-22 13:59:07
【问题描述】:
我需要能够在 Ant 中为所有具有特定名称的子目录执行任务。 对于每个子目录,我需要执行一个 exec 任务
我该怎么做?我发现的示例将文件集用于复制任务,我不能将其与 exec 任务一起使用,或者使用我无法工作的 for 循环。
我也尝试了一些 Javascript,但我根本无法让 FSO 工作。
【问题讨论】:
我需要能够在 Ant 中为所有具有特定名称的子目录执行任务。 对于每个子目录,我需要执行一个 exec 任务
我该怎么做?我发现的示例将文件集用于复制任务,我不能将其与 exec 任务一起使用,或者使用我无法工作的 for 循环。
我也尝试了一些 Javascript,但我根本无法让 FSO 工作。
【问题讨论】:
您可以使用 Ant apply task 执行此操作。
该任务遍历类似文件集的对象的成员,
它也可以处理dirset。
这是一个例子:
<!-- all directories directly under working dir -->
<dirset id="my.dirs" dir="." includes="*" />
<apply executable="ls">
<arg value="-l" />
<dirset refid="my.dirs" />
</apply>
Apply 与 one-shot exec 任务具有相似的属性。
【讨论】:
你有没有尝试过这样的事情(你需要antcontrib for task):
<for param="file">
<path>
<fileset dir="${yourdirectory}"/>
</path>
<sequential>
<!-- do the work you need to here -->
<echo>Filename === @{file}
</sequential>
</for>
此引用取自here。
【讨论】: