Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 在c#中按文件夹名称搜索文件夹,但不指定路径_Winforms_C# 4.0 - Fatal编程技术网

Winforms 在c#中按文件夹名称搜索文件夹,但不指定路径

Winforms 在c#中按文件夹名称搜索文件夹,但不指定路径,winforms,c#-4.0,Winforms,C# 4.0,我想按文件夹名称搜索它。但我不知道文件夹的位置 必须获取该特定文件夹的路径 如何执行此操作?您必须使用指定目录来搜索文件夹 要从计算机获取所有驱动器,请使用并搜索所有驱动器。您可以尝试: DriveInfo[] allDrives = DriveInfo.GetDrives(); List<string> directoryList = new List<string>(); foreach (DriveInfo d in allDrives) { directo

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

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


如何执行此操作?

您必须使用指定目录来搜索文件夹

要从计算机获取所有驱动器,请使用并搜索所有驱动器。您可以尝试:

DriveInfo[] allDrives = DriveInfo.GetDrives();
List<string> directoryList = new List<string>();
foreach (DriveInfo d in allDrives)
{
    directoryList.AddRange(Directory.GetDirectories(d.Name , "*", SearchOption.AllDirectories));
}
DriveInfo[]allDrives=DriveInfo.GetDrives();
List directoryList=新列表();
foreach(所有驱动器中的驱动器信息d)
{
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);
}


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

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

但是如果它位于D或E驱动器中会怎么样???我必须分别搜索所有驱动器吗?@user1909204,您是否检查了答案的第二部分,您可以获取所有驱动器,然后在它们之间搜索directory.GetDirectories(d.Name,“*”,SearchOption.AllDirectories),执行此操作时出现错误“拒绝访问路径“d:\System Volume Information”我也检查了安全设置,它们很好。@user1909204,你必须放置一个try-catch块,你不能访问这些文件夹,操作系统会阻止你这样做,放置一个try-catch块并忽略异常,请参阅:我实际上要做的是在D:\\Sachin\u RnD\u-Latest\\TestResults\\summary中找到一个名为“version”,路径\\TestResults\\SummaryReport是常量,但不是“D:\\Sachin\u RnD\u Latest\”,现在如何获取该版本文件夹中包含的文件?您有权限吗?如果没有权限,您的程序也不会。
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);
}