阅读目录子文件夹中的所有文件

问题描述:

我有一个文件夹 - “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文件,而无需手动放入每个子文件夹的路径?

使用this overload从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)) 
{ 

}