我需要将文件从源文件复制到目标文件,棘手的是,我有很多源文件位于不同的共享路径,我需要将这些输入文件复制到特定的目标文件夹。
例如:Spath1a.txt --> Dpath1, spath2b.txt --> Dpath2, spath3c.txt --> Dpath3, 等等。
我是否可以用一个表来映射输入文件源路径和目标文件夹,然后用foreach循环来实现解决方案?
恳请发表您的建议。
欢迎来到SO Harun
是的,在这种情况下你可以使用一个表。首先在包中添加一个对象型变量,我们称它为@folders,第二个字符串型变量,我们称它为@currentSrc,最后第三个字符串变量我们称它为@currentDst。然后添加Execute SQL任务来获取文件夹列表。将结果集设置为 "完整结果集",并在结果集选项卡中添加对@folders-变量的引用。
添加For Each循环,设置Enumerator为 "Foreach ADO Enumerator",@folders为ADO对象源变量,Enumeration模式为 "第一个表中的行"。在 "变量映射 "选项卡中添加对@currenSrc和@currenDst-变量的引用。
现在,您可以使用 "文件系统任务 "根据您在数据库中的表中的数据将文件从源地复制到目的地(确保在 "文件系统任务 "中引用@currentSrc和@currentDst变量)。