2017-06-06 58 views
0

我正在處理項目,我也想知道如何提取文件夾中的文件名稱提取文件夾中的文件的名稱

例如,我在 「CATA」 目錄有2子文件夾:

  • 「CatAA法」 目錄 「ExpAA」 - 裏面
  • 「CatBB法」 目錄 「ExpBB」 aaa.zip - bbb.zip內

我的目標是在主「CatA」文件中列出(獲取文件名)aaa.zip和bbb.zip文件。

string[] dirs = Directory.GetDirectories(@"C:\CatA"); 

     //checkedListBox1.Items.Insert(0, dirs.Length); 

     for (int i = 0; i < dirs.Length - 1; i++) 
     { 
      //c# go a folder up 
      dirs. 
      var zipFiles = Directory.GetFiles(@"C:\Users\DLXP3B3\Desktop\tes", "*.zip"); 
      checkedListBox1.Items.Insert(i, zipFiles[i]); 
     } 

我做了一些工作,但我不知道如何繼續。任何想法,將不勝感激。謝謝。

+0

*但是我不知道如何繼續*你想實現什麼 –

回答

0

你需要包括選項,以顯示你的目錄中的所有子目錄:

var zipFiles = System.IO.Directory.GetFiles(@"C:\Users\DLXP3B3\Desktop\tes", "*.zip", System.IO.SearchOption.AllDirectories); 
0

其實Directory.GetFiles給你匹配的文件路徑,如果你想單獨的文件名,你必須讓文件名,

var zipFiles = System.IO.Directory.GetFiles(@"C:\CatA", "*.zip", System.IO.SearchOption.AllDirectories) 
            .Select(x=> Path.GetFileName(x)) 
            .ToArray(); 

現在zipFiles將所有文件的列表與擴展.zip

0

如果你需要的所有文件的父文件夾使用的完整路徑: -

var allFilesWithPath = Directory.GetFiles(@"C:\CatA", "*.*", SearchOption.AllDirectories); 

如果您只需要在文件名,而不是完整的路徑,使用下面的代碼: -

var allFiles = Directory.GetFiles(@"C:\CatA", "*.*", SearchOption.AllDirectories) 
     .Select(f => Path.GetFileName(f)).ToArray(); 
相關問題