SSIS 通过替换部分文件名来重命名文件
SSIS Rename files by replacing part of filename
Remove the circled part of the filename
文件夹x中有两种类型的文件:\abc\sales\
一个是压缩的 .gz 文件,另一个是未压缩的 .txt 文件
我的目标是重命名所有“.txt”文件:(保持 .gz 文件不变)
例如。 "accn_adjustments_201802020147.txt"
下划线后面的部分基本上是日期和时间,时间不一定是“0147”,也可能是“0148”或“0210”或其他任何东西,但总是4位数字...
我的任务是删除最后 4 位数字,以便最终结果看起来像 "accn_adjustments_20180202.txt"
我认为 for-each 循环或脚本任务可以帮助我解决这个问题,但我不知道该怎么做。
感谢任何帮助,在此先感谢...
步骤 1) 添加一个 Foreach Loop Container
到包中(将 Foreach Loop Container 从 SSIS 工具箱中的容器拖到包工作区)。
步骤 2) 双击 Foreach 循环打开编辑器
第三步)点击左侧菜单中的Collection,然后将Enumerator
属性改为Foreach File Enumerator
第 4 步)选择您的文件夹:x:\abc\sales\
步骤 5) 将文件的 属性 更改为 *.txt
此外,您还需要:
第 6 步)将 File System Task
从工具箱拖到 Foreach Loop Container
步骤 7) 双击 File System Task
并将操作更改为 Rename File
第 8 步)在任务上设置源和目标连接(我假设您知道如何创建它们)。
现在容器将只循环访问文件夹中的文本文件。
这可以根据您的目的进行扩展,方法是使用变量、Foreach 循环的变量映射部分和表达式来动态修改文件名并更改文本文件数据源的连接 属性。虽然我不是 100% 清楚你还需要什么,但这至少应该回答这个问题让你开始。
一些有助于重命名过程的额外阅读:
Remove the circled part of the filename
文件夹x中有两种类型的文件:\abc\sales\ 一个是压缩的 .gz 文件,另一个是未压缩的 .txt 文件 我的目标是重命名所有“.txt”文件:(保持 .gz 文件不变) 例如。 "accn_adjustments_201802020147.txt"
下划线后面的部分基本上是日期和时间,时间不一定是“0147”,也可能是“0148”或“0210”或其他任何东西,但总是4位数字... 我的任务是删除最后 4 位数字,以便最终结果看起来像 "accn_adjustments_20180202.txt"
我认为 for-each 循环或脚本任务可以帮助我解决这个问题,但我不知道该怎么做。
感谢任何帮助,在此先感谢...
步骤 1) 添加一个 Foreach Loop Container
到包中(将 Foreach Loop Container 从 SSIS 工具箱中的容器拖到包工作区)。
步骤 2) 双击 Foreach 循环打开编辑器
第三步)点击左侧菜单中的Collection,然后将Enumerator
属性改为Foreach File Enumerator
第 4 步)选择您的文件夹:x:\abc\sales\
步骤 5) 将文件的 属性 更改为 *.txt
此外,您还需要:
第 6 步)将 File System Task
从工具箱拖到 Foreach Loop Container
步骤 7) 双击 File System Task
并将操作更改为 Rename File
第 8 步)在任务上设置源和目标连接(我假设您知道如何创建它们)。
现在容器将只循环访问文件夹中的文本文件。
这可以根据您的目的进行扩展,方法是使用变量、Foreach 循环的变量映射部分和表达式来动态修改文件名并更改文本文件数据源的连接 属性。虽然我不是 100% 清楚你还需要什么,但这至少应该回答这个问题让你开始。
一些有助于重命名过程的额外阅读: