我试图运行一个脚本来根据文件名选取一个文件名,但文件名中有一个日期戳,但我遇到了一些阻止程序。
到目前为止,我已经获得了以下
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();
}
}
我无法使该文件名的末尾部分动态化。因此,每天新文件将插入到文件夹位置,并在末尾附加新日期。我将如何让它变得动态并寻找昨天的文件?
文件前缀和文件扩展名永远不会改变,只会改变日期参数。
答案 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字符串并进行检查。