0

我有一个如下所示的目录结构和一个将输入目录中的文件转换为输出目录中的文件的程序。

base directory
+ 001
  + input
  + output
+ 002
  + input
+ ...

拥有许多这些子目录,我正在寻找一种方法来选择那些有输入但没有输出目录的子目录。我从https://ant.apache.org/manual/Types/dirset.html改编的内容如下:

<dirset dir="${project.path}">
    <include name="**/input"/>
    <present present="srconly" targetdir="${project.path}">
        <globmapper from="*/input" to="*/output/marker" />
    </present>
</dirset>

因此,我根据名称选择输入目录并尝试使用present选择器并globmapper在输出目录中搜索标记文件。srconly应该确保我只选择那些在输出目录中没有标记文件的输入目录。不幸的是,这不起作用:尽管 dirset 页面说它就像一个<and>选择器容器,但我总是得到所有输入目录的集合。你有什么建议吗?非常感谢。

4

1 回答 1

0

显然,答案是“现在”选择器区分大小写。我使用的是 Windows 服务器,并且值${project.path}大小写不正确。由于 Windows 上的大多数其他操作不区分大小写(包括我之前使用的所有其他 Ant 功能),所以我没有遇到任何其他问题。

于 2015-07-20T15:15:16.170 回答