2015-04-05 79 views
0

在我的項目中,當我試圖獲取驅動器中所有文本文件的列表時,我只收到直接存在於驅動器中的文件。我無法獲得驅動器文件夾內存在的文本文件,但希望。有任何想法嗎 ?無法獲取驅動器的子文件夾中存在的文本文件

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.IO; 

namespace listofdirectories 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     string str; 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Request.QueryString["drive"] != null) 
      { 
       str=Request.QueryString["drive"]; 
      } 

      DirectoryInfo dinfo = new DirectoryInfo(str); 
      FileInfo[] Files = dinfo.GetFiles("*.txt"); 
      foreach (FileInfo file in Files) 
      { 
       ListBox1.Items.Add(file.Name); 
      } 

     } 
    } 
} 
+3

檢查所有重載'DirectoryInfo.GetFiles()'。 – 2015-04-05 12:49:26

+0

在MSDN上查看[this](https://msdn.microsoft.com/en-us/library/ms143327%28v=vs.110%29.aspx)。 – 2015-04-05 12:50:23

回答

0

使用this GetFiles Method也接收SearchOption Enumeration。如果你把它設置爲AllDirectories它會搜索子文件夾

所以,你的代碼應該是這樣的:

Directory.GetFiles(str, "*.txt", SearchOption.AllDirectories); 
+0

UnAuthorizedAccessException發生,如果我試過 – prashanti 2015-04-05 12:59:15

+0

如果你沒有權限訪問子文件夾,你想如何搜索它們? – Mzf 2015-04-05 13:13:25

相關問題