【问题标题】:retrieve last modified filename from nested directories从嵌套目录中检索最后修改的文件名
【发布时间】:2014-01-24 09:09:53
【问题描述】:

我有一个根目录,里面还有更多目录。这些目录包含各种 Html 和 ncx 文件。我必须得到上次修改的文件的名称。 我正在使用此代码

    string filePath = @"~\FolderName\";  
string completeFilePath = Server.MapPath(filePath);  
var directory = new DirectoryInfo(completeFilePath);  
var fileName = (from f in directory.GetFiles()  
orderby f.LastWriteTime descending  
select f).First();  
lblDisplayFileName.Text=fileName.ToString();  

但它只搜索仅放置在根目录中的文件。它不会搜索根目录中进一步存在的文件。我不知道如何获取嵌套目录中进一步存在的文件的最后修改文件名。我必须显示所有文件中最后修改的文件的名称,无论是否存在于任何目录中。

【问题讨论】:

    标签: c# file file-management


    【解决方案1】:

    看看DirectoryInfo.GetFiles的文档:

    MSDN

    返回当前目录中的文件列表

    你必须使用overload that takes a SearchOption:

    directory.GetFiles("*.*", SearchOption.AllDirectories) 
    

    【讨论】:

    • var dir = Directory.GetDirectories(path); for (int i = 0; i
    • 你能解释一下我应该在哪里做哪些改变吗?
    • @user:将您的代码... from f in directory.GetFiles() ... 更改为... from f in directory.GetFiles("*.*", SearchOption.AllDirectories) ...
    【解决方案2】:

    尝试使用 2 个参数的 GetFiles 重载

    from f in directory.GetFiles(".", SearchOption.AllDirectories)

    SearchOption 指定搜索操作是否应仅包括当前目录或所有子目录。

    【讨论】:

      猜你喜欢
      • 2016-08-01
      • 2012-02-15
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多