列出目录中的所有文件和子目录C#
我想查找并添加特定目录及其所有子目录中的所有文件名,并将它们添加到C#列表中。我曾尝试使用DirectoryInfo,但它只返回当前目录中的文件,而不是其子文件夹。任何简单的方法来实现这个?列出目录中的所有文件和子目录C#
SearchOption.AllDirectories
可能会为您做诀窍,因为它包含当前目录及其所有子目录在搜索操作中。此选项包括重新分析点,例如搜索中的装入驱动器和符号链接。
//Add System.IO then
String[] allfiles = Directory.GetFiles("DirectorytoSearch", "*", SearchOption.AllDirectories);
,并把它们转换成列出
List<string> allfiles = Directory.GetFiles("DirectorytoSearch", "*",SearchOption.AllDirectories).ToList();
更好地将'*'作为通配符而不是'*。*' (如果一个文件没有扩展名呢?) –
是! @DmitryBychenko这是一个好主意。谢谢:) –
Directory.GetFiles()返回一个没有.ToList()选项的字符串[]。 –
,如果你需要将它们存储在列表这里是代码:
string[] entries = Directory.GetFileSystemEntries(folderPath, "*", SearchOption.AllDirectories);
List<string> filesPaths = entries.ToList();
其中“*”是关于搜索条件例如,如果只需要列出的xml文件,请将其更改为“* .xml”
您需要创建一个递归方法以便提取完整目录的s结构 –
var list = Directory.EnumerateFiles(@“C:\ MyFiles \”,“*”,SearchOption.AllDirectories).ToList();' –