跳转至

多文件语法

CCH Tagetik 允许您在某些场景中使用高级语法来指定要处理的文件。

注意:

使用此语法进行文件检索时,必须已定义以下参数:

  • 文件类型:指定流程中将考虑的文件类型(例如 CSV、XLS、XLSX 等)。
  • 基础文件夹:定义搜索和检索文件的起始点。

通常可以指定这些参数;某些工具使用预设的这些参数运行。

从此处开始,与所请求类型对应的文件将被称为 "请求的"

文件恢复语法提供两种主要模式:

  • 特定文件:允许您指定一个特定文件,包含其完整名称和扩展名。
  • 部分名称文件:允许使用部分名称模式来选择多个文件。

在两种情况下,都可以指定一个或多个文件。文件名必须用分号(;)分隔(例如:file1.csv;file2.csv)。

动态语法结构

动态语法必须用方括号(\[ \])括起来,由三个元素组成:

  1. 子文件夹递归(可选):** 通过使用 '**/',文件搜索将扩展到所有子文件夹。如果未指定,则仅处理已定义文件夹中的文件。
  2. 文件模板 允许您指定用于选择所需文件的模板。例如,'data*.csv' 标识所有以 'date' 开头并以扩展名 '.csv' 结尾的文件。
  3. ZIP 文件递归(可选): 使用 '/**',对 '所需的' 文件的搜索将在 ZIP 归档的整个内容上执行,包括任何嵌套的 ZIP。如果未指定,则仅处理 ZIP 归档根目录中的文件。

文件恢复语法

  • 特定文件 使用精确名称和扩展名指定一个或多个文件,用分号(';')分隔(例如:'data1.csv;sales.csv')。
  • ZIP 文件 使用扩展名指定一个或多个 ZIP 文件,用分号(';')分隔(例如:'collection.zip;archive.zip'。
  • 筛选器

  • '[filename*.csv]':检索已定义文件夹中所有以 'filename' 开头并以 '.csv' 结尾的文件。

  • '[archive*.zip]':通过在已定义文件夹中搜索以 'archive' 开头并以 '.zip' 结尾的 ZIP 文件的根目录,检索所有请求的文件。
  • 递归筛选器

  • '[**/filename*.csv]':检索文件夹及所有子文件夹中所有以 'filename' 开头并以 '.csv' 结尾的文件。

  • '[archive*.zip/**]':搜索已定义文件夹中所有以 'archive' 开头的 ZIP 文件,检索这些 ZIP 文件中包含的所有所需的文件。
  • '[**/archive*.zip/**]':搜索已定义文件夹和子文件夹中所有以 'archive' 开头的 ZIP 文件,检索这些 ZIP 文件中包含的所有请求的文件。
  • 组合语法

文件名和筛选器语法可以使用分号(';')合并。例如:'collection.csv;[archive*.zip/**]'。 - 特殊语法 动态语法提供三个不需要方括号的特殊字符串,应谨慎使用:

  • '*':已定义文件夹中的所有请求的文件以及已定义文件夹中 ZIP 文件的根目录。
  • **':已定义文件夹、子文件夹中的所有请求的文件以及已定义文件夹和所有子文件夹中 ZIP 文件的根目录。
  • '**/**':已定义文件夹、子文件夹中的所有请求的文件以及 ZIP 文件的所有内容(包括嵌套 ZIP)。

最佳实践

使用递归表达式时,建议尽量减少要处理的文件夹数量。一个好的做法是创建一个专用文件夹,将感兴趣的文件和文件夹结构复制到其中。这既有利于提高性能(尤其是在 FTP 协议下),也有利于防止处理不需要的文件。

注意:

  • 如果通过语法检索到某种类型的文件(例如 XLS),但文件内容不符合扩展名(例如是 txt),则会报告不正确的 MIME 类型错误。
  • 如果根据所请求的文件类型未检索到任何文件,则会生成错误,指示没有可用数据(例如请求 XLS 类型文件,但不存在)。

示例:

语法 搜索路径 ZIP 内容 描述
data1.csv;sales.csv 指定文件夹 精确文件名匹配
collection.zip;archive.zip 指定文件夹 仅 ZIP 文件根目录 ZIP 文件中包含的具有精确名称的请求的文件
[filename*.csv] 指定文件夹 名称以 'filename' 开头并以 '.csv' 结尾的文件。
[archive*.zip] 指定文件夹 仅 ZIP 文件根目录 ZIP 文件中包含的具有部分名称/通配符的请求的文件。
[**/filename*.csv] 指定文件夹及所有子文件夹 名称以 'filename' 开头并以 '.csv' 结尾的文件。
[archive*.zip/**] 指定文件夹 子文件夹和嵌套 ZIP 文件 ZIP 文件中包含的具有部分名称/通配符的请求的文件。
[**/archive*.zip/**] 指定文件夹及所有子文件夹 子文件夹和嵌套 ZIP 文件 ZIP 文件中包含的具有部分名称/通配符的请求的文件。
* 指定文件夹 仅 ZIP 文件根目录 所有请求的文件
** 指定文件夹及所有子文件夹 仅 ZIP 文件根目录 所有请求的文件
**/** 指定文件夹及所有子文件夹 子文件夹和嵌套 ZIP 文件 所有请求的文件