簡體   English   中英

如何獲取文件夾的目錄,然后獲取其目錄的目錄,依此類推……?

[英]How can I get directories of a folder and then its directories' directory and so on…?

我正在用C#進行編碼,如果您不能提供代碼,但是您可能能夠解釋如何獲得結果,請回答。

我想讓所有文件夾和文件的名稱(路徑)位於目錄中,然后讓其子目錄和文件依此類推,直到沒有子目錄為止。

簡單來說,我想映射整個目錄。

我希望在命令提示符下提供類似於tree命令的輸出,但僅提供路徑: ├── dirPath (level 0) │ └── f1 (level 1) │ │ └──f0 (level 2) │ │ │ └──file.txt (level 3) │ │ │ └──f4 (level 3) │ │ └──f3 (level 2) │ └── f2 (level 1)

我使用過但未返回所需內容的代碼:

foreach (string dir in Directory.GetDirectories(dirPath)) {
      Console.WriteLine(dir);
}

輸出(僅返回級別1)

dir/f1
dir/f2

還嘗試了以下代碼:

foreach (string dir in Directory.GetDirectories(dirPath)) {
      foreach(string subdir in Directory.GetDirectories(dir)) {
            Console.WriteLine(subdir);
      }
      Console.WriteLine(dir);
}

輸出(返回級別1和2)

dir/f1/f0
dir/f1/f3
dir/f1
dir/f2

我想要的是

dir/f1/f0/file.txt
dir/f1/f0/f4
dir/f1/f3
dir/f1
dir/f2

無論如何要實現這一目標? 如果可以獲取目錄路徑,則“獲取文件”部分不是問題,可以對文件使用foreach循環。

謝謝。

string path = @"C:\YourPath";
string[] folders = Directory.GetDirectories(path, "*", SearchOption.AllDirectories);
string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
List<string> filesAndFolders = folders.Union(files).ToList();
filesAndFolders.Sort();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM