处理多个文件夹中的多个文件并使用 SSIS 归档文件夹

Processing Multiple files in multiple folders and archiving the folders using SSIS

我需要处理存在于以下文件夹结构中的 .txt 文件。我需要将所有 *.txt 文件加载到 table。我通过使用 SSIS foreach 循环并检查 "Traverse Subfolders" 已将所有文件加载到 table.

实现了这一点

但是我想在这里实现的附加步骤是重命名并将文件处理后的 "SubfolderA" 移动到 "C:\MainFolder\Archive" 路径。

我知道我们可以使用每个文件的文件系统任务来完成此操作,但我想在文件夹中执行此操作 level.After 每个文件夹都已处理,将文件夹移动到存档文件夹。

C:\MainFolder

C:\MainFolder\Archive

C:\Main Folder\SubFolderA\

C:\Main Folder\SubFolderA\a.txt,b.txt,c.txt

C:\Main Folder\SubFolderB\

C:\Main Folder\SubFolderB\a.txt,b.txt,c.txt

C:\Main Folder\SubFolderC\

C:\Main Folder\SubFolderC\a.txt,b.txt,c.txt

在 SSIS 中编写一个移动批处理命令和运行一个批处理文件。

MOVE C:\Main Folder\ C:\MainFolder\Archive

你试过什么?我会给你一个提示:你需要一个外部 'for each folder' 来枚举所有文件夹,在内部你需要一个 'for each file' 来处理文件夹中的文件。完成后,您可以移动文件夹。没有针对每个文件夹的枚举器,但这里有一些解决方法:microsoft-ssis.blogspot.com.au/2011/01/… – Nick.McDermaid 17 小时前

这个方法怎么样?

http://www.sqlis.com/post/Looping-over-files-with-the-Foreach-Loop.aspx

确保遍历子文件夹。

这将做基本相同的事情。

https://www.mssqltips.com/sqlservertip/2874/loop-through-flat-files-in-sql-server-integration-services/