SSIS脚本任务检查文件是否存在

时间:2014-03-10 16:02:23

标签: c# tsql variables ssis

我尝试使用脚本任务来检查文件是否在文件夹中。如果文件在那里,那么包将继续执行其步骤,否则它应该退出。我有一个变量User :: uvIfExistsFileName,C#脚本使用它来检查文件是否存在于某个位置。现在,我必须使用完整的文件名,即data.csv,如果文件名匹配,优先约束只会返回true。我想要做的是将IfExistsFileName变量的值更改为* .csv,该变量是从data.csv到* .csv的字符串。但是,当我将变量的第一部分发送到外卡时,它返回不匹配。我确信它应该是,我只是不知道当存在任何.csv文件时如何让它返回true。我对于在此过程中出现的每个循环使用通配符就好了,但我的脚本没有任何一个。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您需要添加另一个包含路径w / o文件名的变量,并使用Directory.GetFiles,如下所示:

string[] files = System.IO.Directory.GetFiles(Dts.Variables["User::FolderPath"].Value.ToString(), 
"*.csv", System.IO.SearchOption.TopDirectoryOnly);
if (files.Length > 0)
    Dts.Variables["User::CsvFileExists"].Value = true