SSIS脚本任务检查文件夹是否为空

时间:2018-12-03 12:09:51

标签: c# ssis script-task

在SSIS脚本任务中,我有以下代码检查文件夹是否为空。然后,我想将其传递给变量“ Dim_File_Count”,如果成功,则使用Precedence约束移至下一个任务。但是我的代码不断指出该文件夹是空的,即使它不是:

public void Main()
{
    //string FolderName = Dts.Variables["User::Tech_Dim"].Value.ToString();

    if (File.Exists(Dts.Variables["User::Tech_Dim"].Value.ToString())==false)
    {
        Dts.Variables["User::Dim_File_Count"].Value = 0;
        MessageBox.Show("folder empty");
    }
    else
    {
        Dts.Variables["User::Dim_File_Count"].Value = 1;
        MessageBox.Show("folder is not empty");
    }



    Dts.TaskResult = (int)ScriptResults.Success;
}

1 个答案:

答案 0 :(得分:1)

您可以使用Length类的GetFiles方法的Directory属性来检查指定文件夹中是否有文件。如果需要搜索子目录,即SearchOption,可以使用GetFiles的可选第三个SearchOption.AllDirectories参数,默认情况下仅检查父文件夹。

    if (Directory.GetFiles(Dts.Variables["User::Tech_Dim"].Value.ToString(), "*").Length > 0)
    {
        Dts.Variables["User::Dim_File_Count"].Value = 0;
        MessageBox.Show("folder empty");
    }
    else
    {
        Dts.Variables["User::Dim_File_Count"].Value = 1;
        MessageBox.Show("folder is not empty");
    }