如何用SSIS改某一特定目录下所有文件的后缀名
1个回答
展开全部
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执行一下。
如: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执行一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询