2013-03-12 168 views
2

我有一個文件夾 - 「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文件,而無需手動放入每個子文件夾的路徑?

回答

3

使用this overload從DirectoryInfo的

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

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

似乎是正確的解決方案,我試試吧:)

0

也許這個作品?

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

SearchOption.AllDirectories

包括當前目錄及其在搜索 操作的所有子目錄。此選項包括重新分析點,例如安裝的驅動器 和搜索中的符號鏈接。

試試這個;

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

} 
相關問題