目录结构如下:
module/
a/
foo.php
b/
bar.php
b/
c/
我想为模块/下的每个目录运行一个命令,但不是递归的,所以只有这些应该包括:
a/
b/
c/
如果我这样做:
<target name="foo">
<apply executable="ls">
<arg value="-l" />
<fileset dir="${basedir}/module/">
</fileset>
</apply>
</target>
您只想在第一级目录中执行此操作?
<target name="foo">
<apply executable="ls">
<arg value="-l" />
<dirset dir="${basedir}/module/">
<include name="*"/>
</dirset>
</apply>
</target>
注意<include>
。我只指定了紧接在<dirset/>
中指定的目录下的目录。如果我输入<include names="**/*"/>
,它将指定所有目录。
当您处理目录而不是文件时,使用<dirset/>
而不是<fileset/>
。<fileset/>
用于指定文件。<dirset/>
用于指定目录