0

我想按名称搜索文件夹。但我不知道文件夹的位置。

必须获取该特定文件夹的路径。

我该怎么做?

4

3 回答 3

2

您必须指定目录以使用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));
}
于 2013-01-09T06:13:45.323 回答
0

// 只获取以字母“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 方法(字符串,字符串)

如果您不知道驱动器,则需要通过更改系统上可用的驱动器来搜索所有驱动器。

于 2013-01-09T06:19:07.050 回答
0

唯一的解决方案是使用递归搜索来浏览所有可用文件夹和子文件夹,并跳转访问被拒绝的路径以获得完整的目标结果列表。

于 2015-10-08T09:40:08.577 回答