繁体   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