这是我的目录结构:
module/
a/
foo.php
b/
bar.php
b/
c/
我想为module /下的每个目录运行一个命令,但不是递归的,所以只应该包含这些命令:
a/
b/
c/
如果我这样做:
<target name="foo">
<apply executable="ls">
<arg value="-l" />
<fileset dir="${basedir}/module/">
</fileset>
</apply>
</target>
这将以递归方式为模块下的每个目录和文件运行。
答案 0 :(得分:5)
您只想在第一级目录中执行此操作吗?
<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/>
用于指定目录。