递归搜索根目录和子文件夹中的文件[重复]
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)
【讨论】:
以上是关于递归搜索根目录和子文件夹中的文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章