遍历 Talend 中的目录

Loop through a directory in Talend

我有一个包含许多子目录的目录,其中包括一个名为 OLD 的目录。这个 OLD 文件夹也可以在任何子目录中并包含存档文件。

我需要在 Talend 中创建一个作业,该作业应查找所有旧文件夹(在主目录和子目录中)并从该文件夹中删除文件。我可以使用 tFilelist 来屏蔽要删除的文件。但无法弄清楚如何配置作业以在所有子目录中查找旧文件夹并同时删除这些文件。

您需要做的是在 tFileList 中将您的主文件夹选中包含子目录的复选框,然后在 FileList 类型下拉列表中选择目录。您的文件掩码应该是 "OLD" 或者如果它是“OLD”。 迭代并使用参数 ((String)globalMap.get("tFileList_1_CURRENT_FILEPATH")) 捕获您的子目录。现在您可以在 tFileDelete 中使用此文件夹路径,它也可以删除文件夹

按照以下方法..

  1. 添加tFileList 并配置遍历所有目录。
  2. 现在使用来自 tFileList 的条件连接
  3. 添加 tJava 并使用迭代器连接
  4. 在tJava之后添加tFileDelete,并以IF条件连接。
  5. 在 if 条件中添加以下条件。

    ((String)globalMap.get("tFileList_2_CURRENT_FILEPATH")).contains("OLD")

  6. 现在您将从上述所有目录中获取所有文件,代码将传递给文件路径中具有 "OLD" 的文件。

我没有测试过,你可以试试。