根据c#中创建的日期搜索文件

时间:2012-02-09 17:36:58

标签: c# .net

我有这个功能,用于读取目录并获取具有特定搜索模式的文件。有没有办法根据创建日期或修改日期使用搜索模式?

public static List<FileInfo> GetFileList(string fileSearchPattern, string rootFolderPath)
{
    DirectoryInfo rootDir = new DirectoryInfo(rootFolderPath);

    List<DirectoryInfo> dirList = new List<DirectoryInfo>(
        rootDir.GetDirectories("*", SearchOption.AllDirectories));
    dirList.Add(rootDir);

    List<FileInfo> fileList = new List<FileInfo>();

    foreach (DirectoryInfo dir in dirList)
    {
        fileList.AddRange(
            dir.GetFiles(fileSearchPattern, SearchOption.TopDirectoryOnly));
    }

    return fileList;
}

3 个答案:

答案 0 :(得分:13)

不,但您可以使用Linq快速过滤它们;类似的东西:

var files = from c in directoryInfo.GetFiles() 
            where c.CreationTime >somedate
            select c;

答案 1 :(得分:4)

这给了我上个月的文件,例如:

new DirectoryInfo("c:\\Aaron")
    .EnumerateFileSystemInfos("*.*", SearchOption.AllDirectories)
    .Where(file =>
        file.CreationTime > DateTime.Now.AddMonths(-1));

答案 2 :(得分:0)

使用可以使用

System.Linq;

var files = directoryInfo.GetFiles().Where(a => a.CreationTime>yourDate).ToList();

这将为您提供一个列表集。