文件筛选过滤
系统中涉及到的文件过滤功能,是基于正则表达式功能实现。同时,由支持常规的文件筛选和过滤模式:
系统支持多个过滤项,各个过滤项以分号进行分割。当目标文件条件只要满足其中一个过滤项条件,就可以被选中进行后续操作。每个过滤项内部,又可以通过关键字and
或or
进行组合多个不同子筛选条件。子筛选条件含对文件名、文件大小和文件最后修改日期的检测。
系统提供两种不同的匹配模式:
简单查询模式
过滤模版 | 匹配描述 | 备注 |
---|---|---|
*.* | 所有文件 | |
*.xlsx | 只获取xlsx文件类型 | |
*.csv;*.xlsx | 只获取csv或xlsx这两类文件 | 其它类型将被忽略 |
高级正则模式
该模式下,将利用正则表达式的强大过滤功能进行文件条件的过滤匹配。
- 不区分文件名的大小写。
- 当前正则表达式默认有添加
^
前置符号,确保匹配必须从字符串或一行的开头开始。 .
代表一个非回车符的任何一个字符,配合.*
一起,表示零个或若干个字符。配合.?
一起,则标识零个或一个字符。如果仅仅只表示文件扩展名前点号,则需要标识为:\.
.*
代表的是零个或若干个字符。.?
代表是是零个或1个字符。\.
代表的是文件扩展名前面的.
点符号。sz
代表对文件的字节数进行大小匹配,比较符号为:>, <和=,单位有:KB,MB和GB。md
代表对文件的最后修改日期进行匹配,比较符号支持:>, <和=。and
标识文件名要满足当前筛选项中所有的子项目匹配条件,才可以被选中(同一个筛选项中,不可以同时含有and和or)
。or
标识文件名只要满足当前筛选项中一个子项目的匹配条件,既可以被选中(同一个筛选项中,不可以同时含有and和or)
。<var:Var_Name/>
系统在拆选项中支持自定义变量名的迁入,运行时,会先解析出变量名,后再用于文件过滤。
过滤模版 | 匹配描述 |
---|---|
CRM_202012_.*\.csv | 仅匹配文件名称以 CRM_202012_ 开头,后面可能含有若干字符,且 以 .csv 结尾的文件 |
CRM_202012_.?.?.?\.xlsx | 仅匹配文件名以 CRM_202012_ 开头,且随后可能含0~3个字符的.xlsx 文件,如:CRM_202012_A.xlsx; CRM_202012_ABC.xlsx |
CRM_<var:CurrentDay/>_.*\.xlsx | 以 CRM_ 字符开头,含自定义变量 <var:CurrentDay/> ,随后为 _ 下划线字符, 其后再含若干字符的xlsx文件,匹配类似于:CRM_20210427_release_II.xlsx,CRM_20210427_ABC.xlsx文件 |
CRM_2021_.*\.csv and sz>10kb and md<2021-05-01 | 匹配文件名以 CRM_2021_ 开头的 .csv 文件,且size>10KB ,且 在2021-05-01之前被修改 的文件 |
*.xlsx or sz<10mb or md>2021-02-01 14:30:00 | 匹配所有 .xlsx 文件,或文件 size<10MB ,或 在2021-02-01 14:30:00点后修改过 的文件 |