我怎样才能得到一个文件夹的目录,然后是它的目录目录等等......?
How can I get directories of a folder and then its directories' directory and so on...?
我正在用 C# 编写代码,如果您不能提供代码,但您也许可以解释如何实现结果,请回答。
我想要一个目录中所有文件夹和文件的名称(路径),然后有它们的子目录和文件等等,直到剩下 none。
简单来说,我想映射整个目录。
我想要在命令提示符下类似于 tree
命令的输出,但只有路径:
├── dirPath (level 0)
│ └── f1 (level 1)
│ │ └──f0 (level 2)
│ │ │ └──file.txt (level 3)
│ │ │ └──f4 (level 3)
│ │ └──f3 (level 2)
│ └── f2 (level 1)
我用过但不是return我想要的代码:
foreach (string dir in Directory.GetDirectories(dirPath)) {
Console.WriteLine(dir);
}
输出(仅returns level 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);
}
输出(returns 级别 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
有办法实现吗?如果我们可以获得目录路径,"getting files" 部分不是问题,我们可以对文件使用 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();
我正在用 C# 编写代码,如果您不能提供代码,但您也许可以解释如何实现结果,请回答。
我想要一个目录中所有文件夹和文件的名称(路径),然后有它们的子目录和文件等等,直到剩下 none。
简单来说,我想映射整个目录。
我想要在命令提示符下类似于 tree
命令的输出,但只有路径:
├── dirPath (level 0)
│ └── f1 (level 1)
│ │ └──f0 (level 2)
│ │ │ └──file.txt (level 3)
│ │ │ └──f4 (level 3)
│ │ └──f3 (level 2)
│ └── f2 (level 1)
我用过但不是return我想要的代码:
foreach (string dir in Directory.GetDirectories(dirPath)) {
Console.WriteLine(dir);
}
输出(仅returns level 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);
}
输出(returns 级别 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
有办法实现吗?如果我们可以获得目录路径,"getting files" 部分不是问题,我们可以对文件使用 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();