使用SSIS表达式任务和文件系统任务,根据文件名将文件从一个文件夹移动到多个文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SSIS表达式任务和文件系统任务,根据文件名将文件从一个文件夹移动到多个文件夹相关的知识,希望对你有一定的参考价值。

我有一个场景,我需要根据文件名将文件从一个文件夹移动到不同的文件夹。

示例:在主文件夹中,我有不同名称的文件,文件名中包含特定名称的所有文件应该进入不同的文件夹。

我创建了一个表达式任务和文件系统任务来实现相同,但主文件夹中的所有文件都被删除但在相应的文件夹中不可用。

这是我在表达式任务中使用的表达式,基于该表达式设置目标文件夹。

!(ISNULL( FINDSTRING( @[User::FileName] , @[User::FileV2] , 1 ) )) ?    @[User::DestinationFolder] == @[User::Folder1] : !(ISNULL( FINDSTRING( @[User::FileName] , @[User::FileV3] , 1 ) ) )?    @[User::DestinationFolder] == @[User::Folder2] :!(ISNULL( FINDSTRING( @[User::FileName] ,  @[User::FilePlacement] , 1 ) )) ?    @[User::DestinationFolder] ==  @[User::Folder3] :  @[User::DestinationFolder] ==  @[User::Folder3]

让我知道这是如何做到的。

答案

只有当搜索字符串或表达式为空时,Findstring才返回NULL,如果您显示的最有可能在找不到时返回0,因此ISNULL将始终返回FALSE。

我建议使用> 0来测试条件,例如:

FINDSTRING( @[User::FileName] , @[User::FileV2] , 1 ) > 0 ...

以上是关于使用SSIS表达式任务和文件系统任务,根据文件名将文件从一个文件夹移动到多个文件夹的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 文件系统任务 - 移动目录

SSIS 脚本任务搜索文本(如果可用) 复制文件

SSIS - XML 任务未使用我创建的 XSLT-2.0 转换我的 XML 文件

SSIS文件系统任务错误:分配给变量...的值的类型与当前变量类型不同

SSIS:文件系统任务'无法找到文件'

使用pat文件自动运行SSIS