1

这是我的目录结构:

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>

这将对模块下的每个目录和文件递归运行。

4

1 回答 1

5

您只想在第一级目录中执行此操作?

<target name="foo">
    <apply executable="ls">
        <arg value="-l" />
        <dirset dir="${basedir}/module/">
            <include name="*"/>
        </dirset>
    </apply>
</target>

注意<include>. 我只指定了我在<dirset/>. 如果我说,<include names="**/*"/>它将指定所有目录。

当您处理目录而不是文件时,请使用<dirset/>and not <fileset/><fileset/>用于指定文件。<dirset/>用于指定目录。

于 2013-05-07T12:46:53.960 回答