在SSIS中将文件从文件夹移动到另一个文件夹

时间:2014-01-30 09:22:35

标签: ssis

给定两个平面文件a和b,我想将这些文件从源文件复制到目标文件。

我可以使用SSIS文件系统任务组件移动两个文件吗?

如果我需要通过使用文件系统任务中的“Foreach循环容器”来完成此操作,我将如何继续?

3 个答案:

答案 0 :(得分:3)

您绝对可以使用文件系统任务将文件从源移动到目标。

将Foreach循环容器添加到工作区,然后添加其中的文件系统任务。

创建一个用于存储文件名的变量。

首先编辑Foreach循环,从左侧菜单中选择Collection,然后在Enumerator Configuration下的Folder空间中输入您的Directory。对于文件,如果要移动所有文件,请保留默认值;如果您希望选择,则保留默认值。

从左侧菜单中选择Variable Mappings选项卡,然后在右侧菜单中,选择您定义的变量以保存第一步中的文件名,并在Index字段中输入0.

在文件系统任务中,您需要定义表示目标目录的目标连接,选择适当的操作,然后将IsSourcePathVariable更改为true并从步骤1中选择SourceVariable。

这种方法的好处超过了诸如此类的方法 COPY C:\ YourSource * .TXT C:\ YourDestination 是使用创建的变量和组件在一系列任务和工作流中自动执行此步骤要容易得多。

答案 1 :(得分:2)

你可以搞乱for循环等,或者你可以运行

COPY C:\YourSource\*.TXT C:\YourDestination

执行流程任务

(或根据你想要的那些方面的东西)

答案 2 :(得分:0)

您要在Foreach Loop Containter中设置以下内容: 在Collection菜单选择Foreach File Enumerator中,根据需要选择文件夹和文件过滤器。在Variable Mappings菜单中选择一个字符串变量并指定0索引。 然后将File System Task放在foreach中,并使用该变量移动文件。您可能还需要两个变量:一个用于目录路径(您也可以在foreach中使用它),以及将通过Expression目录路径变量与您从foreach获得的文件名变量组合的fullpath变量。