我想在特定目录及其所有子目录中找到并添加所有文件名,并将它们添加到C#中的列表中。我尝试过使用DirectoryInfo,但它只返回当前目录中的文件而不是其子文件夹中的文件。任何简单的方法来实现这个?
答案 0 :(得分:2)
SearchOption.AllDirectories
可能会为您提供帮助,因为它包含搜索操作中的当前目录及其所有子目录。此选项包括重新分析点,例如搜索中已安装的驱动器和符号链接。
//Add System.IO then
String[] allfiles = Directory.GetFiles("DirectorytoSearch", "*", SearchOption.AllDirectories);
并将它们转换为列表
List<string> allfiles = Directory.GetFiles("DirectorytoSearch", "*",SearchOption.AllDirectories).ToList();
答案 1 :(得分:0)
如果您需要将它们存储在列表中,请输入以下代码:
string[] entries = Directory.GetFileSystemEntries(folderPath, "*", SearchOption.AllDirectories);
List<string> filesPaths = entries.ToList();
其中“*”是搜索条件,例如,如果您只需要列出的xml文件,则将其更改为“* .xml”