2013-10-02 13 views
2

我有這個查找文件和清單列表。但當涉及到需要授權訪問的文件夾,它停止。我該如何跳過這些文件夾並繼續?如何在創建fileinfo列表時跳過具有未授權訪問的文件夾?

string[] filetypes = new string[] { "3gp", "avi", "dat", "mp4", "wmv", 
                 "mov", "mpg", "flv", } 
try 
{ 
    foreach (string ft in filetypes) 
    {      
     files.AddRange(dif.GetFiles(string.Format("*.{0}", ft), 
                SearchOption.AllDirectories));  
    } 
} 
catch 
{ 
} 
+0

@emmett檢查,如果答案幫你 – wudzik

回答

4
static void GetFiles(string dir) 
{ 
    string[] filetypes = new string[] { "3gp", "avi", "dat", "mp4", "wmv", 
                "mov", "mpg", "flv", } 
    foreach(string ft in filetypes) 
    { 
     foreach (string file in Directory.GetFiles(dir, string.Format("*.{0}", ft), 
               SearchOption.TopDirectoryOnly))) 
     { 
      files.Add(new FileInfo(file)); 
     } 
    } 
    foreach (string subDir in Directory.GetDirectories(dir)) 
    { 
     try 
     { 
      GetFiles(subDir); 
     } 
     catch 
     { 
     } 
    } 
} 

使用遞歸不AllDirectories

來看,它就像GetFiles(dif)

+0

-1這是怎麼回事,如果任何子目錄的失敗,失敗就這樣做。你應該注意'SearchOption.AllDirectories' –

+0

@SriramSakthivel感謝您的注意,編輯我的答案 – wudzik

+2

+1這就是它 –

相關問題