多文件语法
CCH Tagetik 允许您在某些场景中使用高级语法来指定要处理的文件。
注意:
使用此语法进行文件检索时,必须已定义以下参数:
- 文件类型:指定流程中将考虑的文件类型(例如 CSV、XLS、XLSX 等)。
- 基础文件夹:定义搜索和检索文件的起始点。
通常可以指定这些参数;某些工具使用预设的这些参数运行。
从此处开始,与所请求类型对应的文件将被称为 "请求的"。
文件恢复语法提供两种主要模式:
- 特定文件:允许您指定一个特定文件,包含其完整名称和扩展名。
- 部分名称文件:允许使用部分名称模式来选择多个文件。
在两种情况下,都可以指定一个或多个文件。文件名必须用分号(;)分隔(例如:file1.csv;file2.csv)。
动态语法结构¶
动态语法必须用方括号(\[ \])括起来,由三个元素组成:
- 子文件夹递归(可选):** 通过使用 '**/',文件搜索将扩展到所有子文件夹。如果未指定,则仅处理已定义文件夹中的文件。
- 文件模板 允许您指定用于选择所需文件的模板。例如,'data*.csv' 标识所有以 'date' 开头并以扩展名 '.csv' 结尾的文件。
- 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 文件 | 所有请求的文件 |