如何通过 Directoryinfo 获取最新文件的完整路径

how to get fullpath to latest file via Directoryinfo

我正在尝试在最新创建的文件夹中找到最新的 .XML 文件。我想这是一个简单的解决方案,但对于我这个新手来说,它让我的头发变白了。

我的代码:

    string dir = runfrom + @"\results";
    string xml = "*.xml";
    DirectoryInfo newestdir = new DirectoryInfo(dir).GetDirectories().OrderByDescending(d => d.LastWriteTimeUtc).First();
    var dirInfo = new DirectoryInfo(newestdir.ToString());
    var file = (from f in dirInfo.GetFiles(xml) orderby f.LastWriteTime descending select f).First();

dirinfo 仅包含最新目录的名称,但不包含完整路径。我(当然)得到一个错误,因为没有它的路径找不到目录。

您可以使用 DirectoryInfo.FullName 获取完整路径。

FullName - Gets the full path of the directory or file.(Inherited from FileSystemInfo.)


但是,您似乎不需要获取完整路径 - 您可以使用 DirectoryInfo 实例来枚举它的文件。

DirectoryInfo newestdir = new DirectoryInfo(dir).GetDirectories().OrderByDescending(d => d.LastWriteTimeUtc).First();
var file = (from f in newestdir.GetFiles(xml) orderby f.LastWriteTime descending select f).First();