C#按日期搜索特定文件和订单

时间:2013-07-03 10:24:53

标签: c# datetime file-io ssis getfiles

我已经在不同的线程中研究了这个问题,并找到了一个或两个部分的可行解决方案,但是我无法将这两个部分联系起来。基本上我想在目录中搜索某个名称的文件,如果这个文件有多个,我想只选择最新的文件。例如,如果我有三个名为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的文件

0 个答案:

没有答案