我正在根目录下的所有目录上运行foreach
循环。
我想要排除名为“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>
答案 0 :(得分:2)
这似乎按预期工作(Ant 1.8.2和ant-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>