Loops 循环遍历Talend中的目录

Loops 循环遍历Talend中的目录,loops,directory,talend,Loops,Directory,Talend,我有一个包含许多子目录的目录,包括一个名为OLD的目录。此旧文件夹也可以位于任何子目录中,并包含存档文件。 根目录A 子目录A file1.txt file2.txt 子目录B file1.txt file2.txt 旧的 子目录C file1.txt file2.txt 子目录D file1.txt 旧的 子目录E file7.txt 旧的 我需要在Talend中创建一个作业,该作业将查找所有旧文件夹(在主目录和子目录中),并从该文件夹中删除文件。我可以使用tFil

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

  • 根目录A
    • 子目录A
      • file1.txt
      • file2.txt
    • 子目录B
      • file1.txt
      • file2.txt
      • 旧的
    • 子目录C
      • file1.txt
      • file2.txt
    • 子目录D
      • file1.txt
      • 旧的
      • 子目录E
        • file7.txt
        • 旧的

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

您需要做的是在tFileList中放入主文件夹选择复选框包括子目录,并在FileList类型下拉列表中选择目录。您的文件掩码应该是“旧”的,或者如果它是更“旧”的。 迭代并使用参数((字符串)globalMap.get(“tFileList\u 1\u CURRENT\u FILEPATH”))
捕获您的子目录。现在,您可以在tFileDelete中使用此文件夹路径,它还可以删除文件夹

您需要做的是在tFileList中放入主文件夹选择复选框包括子目录,并在FileList类型下拉列表中选择目录。您的文件掩码应该是“旧”的,或者如果它是更“旧”的。 迭代并使用参数((字符串)globalMap.get(“tFileList\u 1\u CURRENT\u FILEPATH”))
捕获您的子目录。现在,您可以在tFileDelete中使用此文件夹路径,该方法还可以删除文件夹

遵循以下方法

  • 添加tFileList并配置为遍历所有目录
  • 现在使用来自tFileList的if连接
  • 添加tJava并使用迭代器连接进行连接
  • 在tJava之后添加tFileDelete,并使用IF条件连接
  • 在if条件内添加以下条件

    ((字符串)globalMap.get(“tFileList\u 2\u CURRENT\u FILEPATH”)。包含(“OLD”)

  • 现在您将从上面的所有目录中获取所有文件,代码将传递到文件路径中有“OLD”的文件


  • 我没有测试过,但你可以试试

    遵循以下方法

  • 添加tFileList并配置为遍历所有目录
  • 现在使用来自tFileList的if连接
  • 添加tJava并使用迭代器连接进行连接
  • 在tJava之后添加tFileDelete,并使用IF条件连接
  • 在if条件内添加以下条件

    ((字符串)globalMap.get(“tFileList\u 2\u CURRENT\u FILEPATH”)。包含(“OLD”)

  • 现在您将从上面的所有目录中获取所有文件,代码将传递到文件路径中有“OLD”的文件


  • 我没有测试过,但你可以试试

    谢谢…对于建议…我尝试了这个,但这将删除旧文件夹…位我需要删除旧文件夹中的文件,而不是旧文件夹(这不是问题,因此不要直接放置一个tFileDelete,而是使用另一个tFileList迭代找到的每个旧文件夹:((String)globalMap.get(“tFileList\u 1\u CURRENT\u FILEPATH”))这一次,您只查找带有掩码*的文件。使用tFileDelete在结果完整文件路径上迭代。嘿…这对我来说很有用…非常感谢!!!!我能够实现所需的功能…感谢您的帮助!!!!非常感谢…)谢谢…对于建议…我尝试了这个,但这将删除旧文件夹…位我需要删除旧文件夹中的文件,而不是旧文件夹(这不是问题,因此不要直接放置一个tFileDelete,而是使用另一个tFileList迭代找到的每个旧文件夹:((String)globalMap.get(“tFileList\u 1\u CURRENT\u FILEPATH”))这一次,您只查找带有掩码*的文件。使用tFileDelete在结果完整文件路径上迭代。嘿…这对我来说很有用…非常感谢!!!!我能够实现所需的功能…感谢您的帮助!!!!非常感谢…)