显然,答案是"present"选择器区分大小写。我使用的是Windows服务器,
我有一个如下所示的目录结构和一个将输入目录中的文件转换为输出目录中文件的程序。
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
应该确保我只选择那些在输出目录中没有标记文件的输入目录。不幸的是,这不起作用:我总是取回所有输入目录的集合,尽管目录集页面说它的行为就像<and>
选择器容器。你有什么建议吗?非常感谢。
${project.path}
的大小写不正确。由于Windows上的大多数其他操作都是不区分大小写的(包括我以前使用的所有其他Ant功能),所以我没有遇到任何其他问题。