如何获取目录中创建的某些模式的最新文件

我可以通过以下方式获得最新创建的内容; 但我希望最新创建的具有某种模式,而不仅仅是最新创建的模式

var directory = new DirectoryInfo("D:\\my_dir\\dir_1\\dir_2\\"); var smf_log_name = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First(); 

好吧, DirectoryInfo.GetFiles有一个带有模式参数的重载

 var directory = new DirectoryInfo("D:\\my_dir\\dir_1\\dir_2"); var smf_log_name = directory.GetFiles("*.txt").OrderByDescending(f => f.LastWriteTime).First(); 

注意传递的模式,如果没有指定模式的文件,则序列将抛出InvalidOperationException

 FileInfo result = null; var directory = new DirectoryInfo("D:\\my_dir\\dir_1\\dir_2"); var list = directory.GetFiles("*.txt"); if(list.Count() > 0) { result = list.OrderByDescending(f => f.LastWriteTime).First(); } 

您可以在GetFiles方法中使用搜索模式。

 directory.GetFiles("myPattern").OrderByDescending(f => f.LastWriteTime).First(); 

如果希望所有子目录都包含在搜索中,也可以使用SearchOption.AllDirectories

 directory.GetFiles("myPattern", SearchOption.AllDirectories).OrderByDescending(f => f.LastWriteTime).First();