ssis常用包------文件系统任务
时间:2011-02-18 来源:天生我豺
所有文件系统任务操作都使用源,源可以是文件或目录。例如,任务复制的文件或删除的目录都是源。源可以通过使用指向目录或文件的文件连接管理器来指定,也可以通过提供包含源路径的变量的名称来指定
复制和移动文件及目录的操作与重命名文件的操作都使用目标和源。目标可以使用文件连接管理器或变量指定。文件系统任务操作可以配置为允许覆盖目标文件和目录。创建新目录的操作可以配置为使用具有指定名称的现有目录,而不是在目录已经存在时失败。
1.1预定义的操作:
文件系统任务包含一组预定义的操作。下表介绍了这些操作。
说明 |
|
复制目录 |
将文件夹从一个位置复制到另一个位置。 |
复制文件 |
将文件从一个位置复制到另一个位置。 |
创建目录 |
在指定位置创建文件夹。 |
删除目录 |
删除指定位置的文件夹。 |
删除目录内容 |
删除文件夹中的所有文件和文件夹。 |
删除文件 |
删除指定位置的文件。 |
移动目录 |
将文件夹从一个位置移动到另一个位置。 |
移动文件 |
将文件从一个位置移动到另一个位置。 |
重命名文件 |
重命名指定位置的文件。 |
设置属性 |
设置文件和文件夹的属性。属性包括“存档”、“隐藏”、“正常”、“只读”和“系统”。“正常”指没有属性,它不能与其他属性结合使用。所有其他属性都可以组合使用。 |
文件系统任务对单个文件或目录进行操作。因此,该任务不支持使用通配符对多个文件执行相同的操作。若要使此文件系统任务对多个文件或目录重复执行某个操作,请将此文件系统任务放置于一个 Foreach 循环容器中,如下面的步骤所述:
· 配置 Foreach 循环容器 在 Foreach 循环编辑器的“集合”页上,将枚举器设置为“Foreach 文件枚举器”,然后输入通配符表达式作为“文件”的枚举器配置。在 Foreach 循环编辑器的“变量映射”页上,将要用来传递文件名称的变量按照一次一个的方式映射至文件系统任务。
· 添加和配置文件系统任务 将文件系统任务添加到 Foreach 循环容器。在文件系统任务编辑器的“常规”页上,将“SourceVariable”或“DestinationVariable”属性设置为您在 Foreach 循环容器中定义的变量。
1.2 例子
任务描述:拷贝c:\source\下的test.rar文件到c:\des下并使用winrar解压
注意这里建立了两个连接 sourceCon 和desCon分别对应c:\source\test.rar
和c:\des 注意在建立目标连接的时候需要制定一个文件,不知道为什么这么设计,可以先copy进去一个文件,然后修改如下
编辑“执行进程任务”
运行工程,得到以下的结果
在这里,还可以使用参数的变量的方式,删除掉上图中的arguments中的值,新建两个参数
在上图的表达式中,配置如下
这里使用的是表达式生成器,如下图
同样可以达到上面的效果。
结果是从c:\source下copy test.rar到c:\ce下并解压文件。
默认情况下如果你在运行一次的话,会失败的,会提示目标文件夹中已经存在test.rar这个时候你需要在复制文件任务中设置属性