4

我想创建一个匹配特定模式的文件的文件集,但从该集中排除在同一目录中具有特定其他文件的任何文件。

例如,我想要一个匹配所有 ./*/file.xml 文件的文件集,例如:

<fileset dir="${some.dir}" includes="*/file.xml" />

...但我想排除与 ignore.this 文件位于同一目录中的任何 file.xml 文件。

所以如果目录结构是:

foo/file.xml
bar/file.xml
bar/ignore.this

... foo 中的 file.xml 将被选中,但 bar 不会。

4

1 回答 1

3

您可以使用带有映射器的present选择器的文件集:

<fileset dir="${some.dir}" includes="*/file.xml">
    <present targetdir="${some.dir}" present="srconly">
        <mapper type="regexp" from="^(.*)/.*" to="\1/ignore.this" />
    </present>
</fileset>

也就是说,只包含file.xml在同一个目录中没有对应文件时调用的文件ignore.this

于 2011-08-22T22:45:02.103 回答