【问题标题】:Move files from one folder to multiple folders based on filename using SSIS expression task and File system task使用 SSIS 表达式任务和文件系统任务根据文件名将文件从一个文件夹移动到多个文件夹
【发布时间】:2018-03-06 21:17:35
【问题描述】:

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

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

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

这是我在表达式任务中使用的表达式,我根据它设置目标文件夹。

!(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]

让我知道这是怎么做到的。

【问题讨论】:

    标签: ssis


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 2016-06-23
      • 2022-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多