C#SSIS脚本拿起昨天的文件

时间:2015-03-26 06:05:18

标签: c# ssis

我试图运行一个脚本来根据文件名选取一个文件名,但文件名中有一个日期戳,但我遇到了一些阻止程序。

到目前为止,我已经获得了以下

var directory = new DirectoryInfo(Dts.Variables["User::VarFolderPath"].Value.ToString());

        FileInfo[] files = directory.GetFiles();

        foreach (FileInfo file in files)
        {
            if (file.FullName == "Call_Stat_V5_20150325.csv"
            {
                    dts.Variables["User::VarFileName"].Value = file.ToString();
            }
        }

我无法使该文件名的末尾部分动态化。因此,每天新文件将插入到文件夹位置,并在末尾附加新日期。我将如何让它变得动态并寻找昨天的文件?

文件前缀和文件扩展名永远不会改变,只会改变日期参数。

1 个答案:

答案 0 :(得分:0)

DateTime t = DateTime.Now.AddDays(-1).Date;
string d = t.ToString("yyyyMMdd");

string fileName = "Call_Stat_V5" + d + ".csv";

foreach (FileInfo file in files)
{
    if (file.FullName == fileName)
    {
          dts.Variables["User::VarFileName"].Value = file.ToString();
    }
}

您正在使用第一行的当前日期并从中删除一天。之后,您将当前字符串格式化并格式化字符串,如此"yyyyMMdd"。 您需要创建fileName字符串并进行检查。