SSIS ForEach Loop容器仅可在一个子文件夹上工作

问题描述

我正在研究一个SSIS软件包,该软件包扫描文件夹及其子文件夹,并在本地复制.XLSM文件以导入到sql Server中。我面临的问题是,根文件夹中有多个不需要的.XLSM文件。我关心的文件位于根文件夹内的特定文件夹中。

文件夹结构:
我正在使用的文件夹结构如下所示:

我想进入Folder I Care About文件夹中的每个文件夹,并从这些文件夹中抓取.xlsm文件

请务必注意,我关心的每个文件夹都具有相同的名称

我尝试过的操作:

  1. 带有变量映射的嵌套ForEach循环容器。
    一个ForEach循环容器进入根文件夹,并将完全限定的路径映射到变量。第二个ForEach循环容器还具有文件枚举器和映射到Directory属性的变量,如下所示:
    @RootFolderVariable + "Folder I Care About"
    我认为这将遍历子文件夹并获取*.xlsm文件以创建本地副本。但是我遇到的问题是,父ForEach循环容器正在遍历文件,并在根文件夹(而不是文件名称)中发送文件的标准路径。这是有道理的,因为这是文件枚举器。但是我希望根文件夹仅逐个筛选文件夹,然后将路径发送到嵌套容器,以便嵌套容器可以找到并使用Folder I care about文件夹。
    此答案部分受this StackOverflow question
  2. 的启发
  3. 文件夹路径中的通配符。
    我很高兴尝试这种方法,因为它看起来是如此简单和优雅,但失败了。我尝试添加通配*,希望这会使ForEach容器忽略Folder I care about之前的所有内容。但这没有用。这就是我的想法:
    \\ServerName\D$\RootFolder\*\Folder I care about
    我什么都没有。

我非常感谢有关如何从多个子文件夹中的一个文件夹中抓取.xlsm的一些指导。更复杂的是,我希望我的ForEach容器遍历Folder I care about中的子文件夹,但忽略其上方的所有内容;即使它需要高于该文件夹级别才能转到根目录下另一个我关心的父文件夹中的下一个文件夹中,对不起....

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)