可能是重复的问题:
如何在C#中递归列出目录中的所有文件?
我想要列出给定文件夹(路径)的文件和文件夹的“子路径”。
假设我有文件夹 C:\files\folder1\subfolder1\file.txt
如果我给出函数 c:\files\folder1\,
我将得到 subfolder1 subfolder1\file.txt
可能是重复的问题:
如何在C#中递归列出目录中的所有文件?
我想要列出给定文件夹(路径)的文件和文件夹的“子路径”。
假设我有文件夹 C:\files\folder1\subfolder1\file.txt
如果我给出函数 c:\files\folder1\,
我将得到 subfolder1 subfolder1\file.txt
您可以使用Directory.GetFiles
方法列出文件夹中的所有文件:
string[] files = Directory.GetFiles(@"c:\files\folder1\",
"*.*",
SearchOption.AllDirectories);
foreach (var file in files)
{
Console.WriteLine(file);
}
请注意,SearchOption
参数可用于控制搜索是否递归(SearchOption.AllDirectories
),或者仅在顶级目录中搜索(SearchOption.TopDirectoryOnly
)。
Directory.GetFileSystemEntries(...)
代替Directory.GetFiles(...)
,并使用"*"
代替"*.*"
。 - Glitch试试这样做:
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);
}
}
String[] subDirectories;
String[] subFiles;
subDirectories = System.IO.Directory.GetDirectories("your path here");
subFiles = System.IO.Directory.GetFiles("your path here");
foreach (String str in subFiles)
Console.WriteLine(str.Split('\\').Last());
- sapatelbaps