提取昨天文件的 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"
。
您需要创建文件名字符串并进行检查。
我正在尝试 运行 一个根据文件名选择文件的脚本,文件名中有日期戳,但我 运行 遇到了一些障碍.
到目前为止,我得到了以下内容
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"
。
您需要创建文件名字符串并进行检查。