可能重复:
How to recursively list all the files in a directory in C#?
我想列出给定文件夹(路径)的文件和文件夹的“子路径”
假设我有文件夹C:\ files \ folder1 \ subfolder1 \ file.txt
如果我给函数c:\ files \ folder1 \
我会得到的 subfolder1 subfolder1 \ file.txt的
答案 0 :(得分:27)
您可以使用Directory.GetFiles
方法列出文件夹中的所有文件:
string[] files = Directory.GetFiles(@"c:\files\folder1\",
"*.*",
SearchOption.AllDirectories);
foreach (var file in files)
{
Console.WriteLine(file);
}
请注意,SearchOption
参数可用于控制搜索是递归(SearchOption.AllDirectories
)还是不递归(SearchOption.TopDirectoryOnly
)。
答案 1 :(得分:24)
尝试这样的事情:
static void Main(string[] args)
{
DirSearch(@"c:\temp");
Console.ReadKey();
}
static void DirSearch(string dir)
{
try
{
foreach (string f in Directory.GetFiles(dir))
Console.WriteLine(f);
foreach (string d in Directory.GetDirectories(dir))
{
Console.WriteLine(d);
DirSearch(d);
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
}
答案 2 :(得分:5)
String[] subDirectories;
String[] subFiles;
subDirectories = System.IO.Directory.GetDirectories("your path here");
subFiles = System.IO.Directory.GetFiles("your path here");
答案 3 :(得分:0)
答案 4 :(得分:0)
我记得不久前在SO上解决类似的问题,尽管它是在VB中。这是question。