循环遍历Talend中的目录

时间:2015-08-12 08:40:09

标签: loops directory talend

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

  • 根目录A.
    • SUB-DIRECTORY A
      • FILE1.TXT
      • FILE2.TXT
    • SUB-DIRECTORY B
      • FILE1.TXT
      • FILE2.TXT
      • OLD
    • SUB-DIRECTORY C
      • FILE1.TXT
      • FILE2.TXT
    • SUB-DIRECTORY D
      • FILE1.TXT
      • OLD
      • SUB-SUB-DIRECTORY E
        • file7.txt
        • OLD

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

遵循以下方法..

  1. 添加tFileList并配置Travers覆盖所有目录。
  2. 现在使用来自tFileList
  3. 的conndition连接
  4. 添加tJava并使用迭代器连接
  5. 连接
  6. 在tJava之后添加tFileDelete并连接IF条件。
  7. 如果条件,请在内部添加以下条件。

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

  8. 现在,您将获得上述所有目录中的所有文件将传递给文件路径中具有“OLD”的文件。

  9. 我还没有测试,但你可以尝试一下。