我现在

<foreach list="${myfolders}" target="bundle"
     param="worksheet" inheritall="true"/>


在文件夹列表上执行目标“捆绑包”。但是问题是我需要设置此列表。如何使用Ant遍历给定父目录的所有文件夹?

如果有办法做到这一点,并且还排除特定的文件夹,那会更好。谢谢。

最佳答案

您可以为<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="*"/>防止递归目录树。

08-05 04:17