这是我测试的一个工作示例的步骤。
变量
我定义了 3 个变量:
- FileName - 在 foreach 循环中使用
- DestinationDir - 文件在哪里
- SourceDir - 我要处理的文件在哪里
Foreach 循环设置
我有一个 foreach 循环配置为:
- “目录”的表达式设置为 @[User::SourceDir]
- 检索文件名设置为“名称和扩展名”
然后在“变量映射”下:
这意味着当 foreach 循环遍历目录中的文件时,它会将文件的“名称和扩展名”设置为变量 @[User:FileName]
数据流任务
我在 foreach 循环中添加了一个数据流任务:
然后在 DFT 内部,我有一个简单的平面文件源到平面文件目标。我们只需将每个文件的内容传递给新文件:
在初始开发期间,我将手动选择一个文件来逐步设置每个源和目标。然后回来更改连接管理器并在 ConnectionString 上设置一个表达式。
连接管理器表达式
源文件连接管理器:
- ConnectionString 得到一个表达式:@[User::SourceDir] + @[User::FileName]
目标文件连接管理器:
- ConnectionString 得到一个表达式:@[User::DestinationDir] + @[User::FileName]
测试
我的源目录中有 2 个测试文件,而目标中没有文件:
在我执行我的包后,我获得了成功,并在我的目的地获得了新文件: