【发布时间】:2020-12-15 09:36:39
【问题描述】:
使用 SQL Server 2014 \ VS 2019。我有以下 C# 脚本任务来删除文件夹中早于 x 天的文件,这是可行的。
public void Main()
{
int RetentionPeriod = Convert.ToInt32(Dts.Variables["$Package::FileRententionDays"].Value.ToString());
string directoryPath = Dts.Variables["CSV_ArchivePath"].Value.ToString();
string[] oldFiles = System.IO.Directory.GetFiles(directoryPath, "*.*");
foreach (string currFile in oldFiles)
{
FileInfo currFileInfo = new FileInfo(currFile);
if (currFileInfo.LastWriteTime < (DateTime.Now.AddDays(-RetentionPeriod)))
{
currFileInfo.Delete();
}
}
Dts.TaskResult = (int)ScriptResults.Success;
}
但是,我该如何修改为只是说,删除文件名以“ABC”开头的目录中的所有文件?
【问题讨论】:
-
查看
currFileInfo.LastWriteTime的值,而不是检查currFileInfo.FileName的值 -
将文件名通配符更改为“ABC*.*”以仅返回匹配该模式的文件。
-
这些优秀的 cmets 中的任何一个都可以作为答案......
-
谢谢大家,我会调查的
标签: c# sql-server ssis sql-server-2014