Skip to main content

文件筛选过滤

系统中涉及到的文件过滤功能,是基于正则表达式功能实现。同时,由支持常规的文件筛选和过滤模式:

系统支持多个过滤项,各个过滤项以分号进行分割。当目标文件条件只要满足其中一个过滤项条件,就可以被选中进行后续操作。每个过滤项内部,又可以通过关键字andor进行组合多个不同子筛选条件。子筛选条件含对文件名、文件大小和文件最后修改日期的检测。

系统提供两种不同的匹配模式:

简单查询模式

过滤模版匹配描述备注
*.*所有文件
*.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/>_.*\.xlsxCRM_ 字符开头,含自定义变量 <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点后修改过的文件