0

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>
4

1 に答える 1

2

これは期待どおりに機能するようです(Ant1.8.2およびant-contrib1.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>
于 2012-10-01T15:53:06.440 に答える