读取目录子文件夹中的所有文件
我有一个文件夹 – “C:\ scripts”
在“脚本”中,我有几个子文件夹,例如 – “C:\ scripts \ subfolder1”“C:\ scripts \ subfolder2”等,包含html
文件。
我想使用以下代码 –
foreach (string file in Directory.EnumerateFiles(@"C:\scripts","*.html")) { string contents = File.ReadAllText(file); }
但是由于html
文件位于子文件夹中,因此无效。
如何访问子文件夹中的html文件而无需手动放入每个子文件夹的路径?
使用DirectoryInfo中的这个重载
var dir = new DirectoryInfo(@"c:\scripts"); foreach(var file in dir.EnumerateFiles("*.html",SearchOption.AllDirectories)) { }
Directory.EnumerateFiles(@"C:\scripts","*.html",SearchOption.AllDirectories)
似乎是我正确的解决方案尝试:)
也许这有效吗?
foreach (string file in Directory.GetFiles("C:\\Scripts\\", "*.html", SearchOption.AllDirectories)) { string contents = File.ReadAllText(file); }
来自SearchOption.AllDirectories
在搜索操作中包含当前目录及其所有子目录。 此选项包括重新分析点,例如搜索中已安装的驱动器和符号链接。
试试这样;
var d = new DirectoryInfo(@"c:\scripts"); foreach(var fin d.EnumerateFiles("*.html", SearchOption.AllDirectories)) { }