我有一个文件夹 - " C:\ scripts"
在"脚本"我有几个子文件夹,例如 - " C:\ scripts \ subfolder1" " C:\脚本\ subfolder2"等,包含html
个文件。
我正在尝试使用以下代码 -
foreach (string file in Directory.EnumerateFiles(@"C:\scripts","*.html"))
{
string contents = File.ReadAllText(file);
}
但是由于html
文件位于子文件夹中,因此无效。
如何在不必手动输入每个子文件夹的路径的情况下访问子文件夹中的html文件?
答案 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)
在搜索中包含当前目录及其所有子目录 操作。此选项包括重新分析点,例如已安装的驱动器 和搜索中的符号链接。
试试这个;
var d = new DirectoryInfo(@"c:\scripts");
foreach(var fin d.EnumerateFiles("*.html", SearchOption.AllDirectories))
{
}