文件筛选过滤
系统中涉及到的文件过滤功能,是基于正则表达式功能实现。同时,由支持常规的文件筛选和过滤模式:
系统支持多个过滤项,各个过滤项以分号进行分割。当目标文件条件只要满足其中一个过滤项条件,就可以被选中进行后续操作。每个过滤项内部,又可以通过关键字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点后修改过的文件 |