日期:2014-05-17  浏览次数:20616 次

怎么用SSIS改某一特定目录下所有文件的后缀名,急!!!!!!!!
在一个foreach loop中,把某一特定目录下的所有文件的后缀名都给改了,给点提示,谢谢

------解决方案--------------------
1.定义两个string变量
如:sourceFile ,targetFile 
2.设置Foreach loop 
检索文件名选择“完全限定名称”,然后在变量映射中设置变量为User::sourceFile 索引为0
3.在foreach中拖放一个脚本组件。
3.1 设置 ReadOnlyVariables和ReadWriteVariables 分别为变量 sourceFile和targetFile
3.1 编辑脚本输入如下代码:
  string sourceFile = Dts.Variables["sourceFile"].Value.ToString();

            string extension = Path.GetExtension(sourceFile);
            string path = Path.GetDirectoryName(sourceFile) + @"\";
            string targetFile = path + Guid.NewGuid().ToString() + extension;

            Dts.Variables["targetFile"].Value = targetFile;

            Dts.TaskResult = (int)ScriptResults.Success;
4.拖一个文件系统任务到Foreach容器中,与脚本任务连接
 4.1设置该组件的DelayValidation属性为True
 4.2 设置Operation类型为重名名文件。
 4.3 设置文件系统中的IsDetinationPathVariable 和IsSourcePathVariable为true.
设置DestinationVariable和SourceVariable为TargetFile 和sourceFile
设置OverwriteDestination为true.
OK执行一下。