提取昨天文件的 C# SSIS 脚本

C# SSIS Script to pick up yesterdays file

我正在尝试 运行 一个根据文件名选择文件的脚本,文件名中有日期戳,但我 运行 遇到了一些障碍.

到目前为止,我得到了以下内容

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();
            }
        }

我无法使该文件名的末尾部分动态化。因此,每天都会有一个新文件放入文件夹位置,并在末尾附加一个新日期。我将如何着手让它动态化并寻找昨天的文件?

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

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"。 您需要创建文件名字符串并进行检查。