选择器可以被合并到选择容器内,从而可以进行分组和某些逻辑表达。
区分选择器容器与选择器:
选择器容器有:<and>, <or>, <not>, <none>, <selector>和<majority>。容器可以嵌套使用,用以表达复杂的选择逻辑。
选择器有:
|
选择器 |
描述 |
|
<filename> |
基于模式匹配文件,工作方式类似于模式集的<include>或<exclude>元素 |
|
<depth> |
基于目录深度选择文件 |
|
<size> |
按照小于,等于,大于某指定值来选择文件 |
|
<date> |
根据最终修改时间早于,晚于或等于某一指定时间来选择文件(或目录) |
|
<present> |
选择存在于某个目录树中的文件 |
|
<depend> |
选择比在其他目录树中选择指定文件更新的版本 |
|
<contains> |
选择包含指定字符串的文件 |
|
<containsregexp> |
选择包含与指定正则表达式匹配的字符串的文件 |
|
<different> |
选择某一目录不包含的文件 |
|
<type> |
根据文件或目录的类型进行选择 |
|
<modified> |
计算文件的checksum,选择检查和发生变化的文件 |
|
<signedselector> |
选择已签名的JAR文件,可选择包括签名者姓名 |
|
<scriptselector> |
嵌入一段脚本语言来描述选择规则 |
这些选择器可以限制文件集只选择匹配于特定测试的文件。
eg:从web中选择不存在于currentfiles中的文件复制到newweb文件中
<target name="copy" depends="compile" description="copy test">
<copy todir="newweb" includeemptydirs="false">
<fileset dir="web">
<not>
<present targetdir="currentfiles" />
</not>
</fileset>
</copy>
</target>
本文深入探讨了在文件操作场景中如何使用选择器与选择容器进行高效选择与过滤,通过实例展示了如何利用不同选择器实现复杂逻辑,确保文件选择过程的精确与高效。
88

被折叠的 条评论
为什么被折叠?



