3

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

4

4 回答 4

4

从 DirectoryInfo使用这个重载

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

}
于 2013-03-12T14:12:46.493 回答
0
Directory.EnumerateFiles(@"C:\scripts","*.html",SearchOption.AllDirectories)

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

于 2013-03-12T14:13:12.323 回答
0

也许这行得通?

foreach (string file in Directory.GetFiles("C:\\Scripts\\", "*.html", SearchOption.AllDirectories))
{
    string contents = File.ReadAllText(file);
}
于 2013-03-12T14:13:31.687 回答
0

SearchOption.AllDirectories

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

试试这样;

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

}
于 2013-03-12T14:14:14.727 回答