我已经在不同的线程中研究了这个问题,并找到了一个或两个部分的可行解决方案,但是我无法将这两个部分联系起来。基本上我想在目录中搜索某个名称的文件,如果这个文件有多个,我想只选择最新的文件。例如,如果我有三个名为DOG的文件,我只想要最新的文件。我使用的是1.0版,所以我认为Linq不是选择。这是我发现的解决方案最接近的匹配,我认为这将解决最新的文件
var targetDirectory = new DirectoryInfo("G:\SomeFilePath");
string[] files = System.IO.Directory.GetFiles(Dts.Variables["User::DirectoryPath"].Value.ToString());
string lastFileName=string.Empty;
foreach (string Current_filename in files)
{
if (string.Compare(Current_filename,lastFileName)>=1)
{
lastFileName = Current_filename;
}
}
Dts.Variables["User::LastFileName"].Value = lastFileName;
由于文件都在同一目录下,我的查询是如果此代码提取最新文件,我如何指定我想要的最新文件,例如,我有3个名为dog的文件,2个名为cat等的文件,所以我怎样才能获取最新的Dog文件和最新的Cat文件。
基于此线程中的答案我使用此解决方案https://stackoverflow.com/a/1781668/451518来返回最新文件,但是我知道要根据名称分隔这些文件,例如我想在目录中搜索所有DOG,或者CAT txt文件,然后按照链接
中显示的最新功能执行订单JUST TO CLARIFY文件名不完全相同我的意思是DOG2或DOG3然而它的DOG部分是重要的,因此基于我需要选择最新的DOG
我的主要是我打电话
if(filename.StartsWith("DOG"))
{
GetLatestWritenFileFileInDirectory(directoryInfo);
}
但是我想编辑GetLatestWritenFileFileInDirectory,以便它只获取名为DOG的文件