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

时间:2013-03-12 14:08:14

标签: c# directory subdirectory

我有一个文件夹 - " C:\ scripts"

在"脚本"我有几个子文件夹,例如 - " C:\ scripts \ subfolder1" " C:\脚本\ subfolder2"等,包含html个文件。

我正在尝试使用以下代码 -

 foreach (string file in Directory.EnumerateFiles(@"C:\scripts","*.html"))
        {
            string contents = File.ReadAllText(file);
        }

但是由于html文件位于子文件夹中,因此无效。

如何在不必手动输入每个子文件夹的路径的情况下访问子文件夹中的html文件?

4 个答案:

答案 0 :(得分:4)

使用DirectoryInfo中的this overload

var dir = new DirectoryInfo(@"c:\scripts");
foreach(var file in dir.EnumerateFiles("*.html",SearchOption.AllDirectories))
{

}

答案 1 :(得分:0)

Directory.EnumerateFiles(@"C:\scripts","*.html",SearchOption.AllDirectories)

对我来说似乎是正确的解决方案:)

答案 2 :(得分:0)

也许这有用吗?

foreach (string file in Directory.GetFiles("C:\\Scripts\\", "*.html", SearchOption.AllDirectories))
{
    string contents = File.ReadAllText(file);
}

答案 3 :(得分:0)

来自SearchOption.AllDirectories

  

在搜索中包含当前目录及其所有子目录   操作。此选项包括重新分析点,例如已安装的驱动器   和搜索中的符号链接。

试试这个;

var d = new DirectoryInfo(@"c:\scripts");
foreach(var fin d.EnumerateFiles("*.html", SearchOption.AllDirectories))
{

}