2012-10-01 151 views
0

我正在运行一个foreach循环遍及根目录下的所有目录。ant排除目录中的目录

我想排除名称为“src”和“bin”的所有目录。

如何从结果中排除这些目录?

根目录中有多个子目录,子目录也可能包含子目录。我想浏览根目录下的所有目录,除了那些名称在上面的目录。

我曾尝试以下,没有工作过:

 <path> 
      <dirset dir="../Apps/"> 
       <exclude name="*src*,*bin*"/> 
      </dirset> 
     </path> 

 <path> 
      <dirset dir="../Apps/"> 
       <exclude name="**/src*,**/bin*"/> 
      </dirset> 
     </path> 

 <path> 
      <dirset dir="../Apps/"> 
       <exclude name="**/src/**,**/bin/**"/> 
      </dirset> 
     </path> 

回答

2

这似乎预期(蚂蚁1.8.2和蚂蚁contrib请1.0b3工作):

<target name="test"> 
    <foreach target="echo-folder-name" param="folder"> 
     <path> 
      <dirset dir="../Apps/"> 
       <exclude name="**/bin/**" /> 
       <exclude name="**/src/**" /> 
      </dirset> 
     </path> 
    </foreach> 
</target> 

<target name="echo-folder-name"> 
    <echo>${folder}</echo> 
</target> 
+0

我之前尝试过这个选项,但使用CSV。为什么CSV不起作用?它在文档中说使用CSV或空格来分隔这些值应该可以工作。谢谢,这工作分离成不同的标签。 – prolink007