使用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 - XML 任务未使用我创建的 XSLT-2.0 转换我的 XML 文件