递归搜索根目录和子文件夹中的文件[重复]

Posted

技术标签:

【中文标题】递归搜索根目录和子文件夹中的文件[重复]【英文标题】:Recursive search for files in root directory and subfolders [duplicate] 【发布时间】:2014-07-07 07:55:57 【问题描述】:

我需要对带有几个子目录的根文件夹进行递归搜索,但我不知道如何在没有任何特定文件夹的情况下进行 rootDirectory 字符串搜索。我将能够在没有任何特定根文件夹的情况下执行该文件,例如 C:\folder\file。我需要的更像是 RandomDirectory:\randomsubfolder\file 没有特定的扩展名。

string rootDirectory = "";
    string extension = "";


    List<string> files = GetFilesRecursively (rootDirectory, extension);

    Console.WriteLine ("Got 0 files of extension 1 in directory 2", files.Count, extension, rootDirectory);
    foreach (string file in files) 
        Console.WriteLine (file);
    






static List<string> GetFilesRecursively (string rootDirectory, string extension) 

    if (!Directory.Exists (rootDirectory)) 

        return new List<string> ();
    
    Console.WriteLine ("Currently in directory 0", rootDirectory);


    List<string> opList = new List<string> ();


    string[] allFiles = Directory.GetFiles (rootDirectory, "" + extension);


    opList.AddRange (allFiles);


    string[] subDirectories = Directory.GetDirectories (rootDirectory);


    foreach (string subDir in subDirectories) 

        List<string> subDirFileList = GetFilesRecursively (subDir, extension);

        opList.AddRange (subDirFileList);
    

【问题讨论】:

Directory.GetFiles 上有一个“递归”标志。 【参考方案1】:
string [] allfiles = Directory.GetFiles(path, "*", SearchOption.AllDirectories) 

【讨论】:

以上是关于递归搜索根目录和子文件夹中的文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用java递归方法遍历指定目录下所有子目录和子文件

递归搜索目录中的文件

如何使用PowerShell递归搜索目录中的所有文件,包括隐藏目录中的隐藏文件?

使用 PHP 递归搜索目录中的文件并更改值

使用 find 以非递归方式搜索目录中的特定文件。艾克斯

如何在cmd中进行简单的文件搜索