我想按名称搜索文件夹。但我不知道文件夹的位置。
必须获取该特定文件夹的路径。
我该怎么做?
您必须指定目录以使用Directory.GetDirectories Method (String, String, SearchOption)搜索文件夹
string[] directories = Directory.GetDirectories(@"c:\",
"*",
SearchOption.AllDirectories);
要从计算机上获取所有驱动器,请使用DircotoryInfo.GetDrives然后搜索所有驱动器,您可以尝试:
DriveInfo[] allDrives = DriveInfo.GetDrives();
List<string> directoryList = new List<string>();
foreach (DriveInfo d in allDrives)
{
directoryList.AddRange(Directory.GetDirectories(d.Name , "*", SearchOption.AllDirectories));
}
// 只获取以字母“p”开头的子目录。
string[] dirs = Directory.GetDirectories(@"c:\", "p*");
Console.WriteLine("The number of directories starting with p is {0}.",dirs.Length);
foreach (string dir in dirs)
{
Console.WriteLine(dir);
}
参考 - Directory.GetDirectories 方法(字符串,字符串)
如果您不知道驱动器,则需要通过更改系统上可用的驱动器来搜索所有驱动器。
唯一的解决方案是使用递归搜索来浏览所有可用文件夹和子文件夹,并跳转访问被拒绝的路径以获得完整的目标结果列表。