找到所有可能的文件夹中的文件?(Find a file within all possible fo

2019-06-27 17:58发布

我不知道我怎么会使用C#寻找所有可能的目录中的特定文件(例如cheese.exe)? 然后存储的路径,它发现它在目录中?

Answer 1:

这段代码检索机器上的所有逻辑驱动器的列表,然后搜索硬盘中的所有文件夹匹配文件名“Cheese.exe”的文件。 一旦循环完成,列表中的“文件”包含

     var files = new List<string>();
     //@Stan R. suggested an improvement to handle floppy drives...
     //foreach (DriveInfo d in DriveInfo.GetDrives())
     foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady == true))
     {
        files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "Cheese.exe", SearchOption.AllDirectories));
     }


Answer 2:

如果你想知道更多一点关于搜索多个目录的机制,谷歌搜索发现这个职位 。 它通过自己的目录递归的一个很好的解决方案和解释。 您可以更改文件规范中Directory.GetFiles以配合您的搜索字符串,并可能使用原样。

该链接现在是不幸死了,但简而言之解决方案基本上可以归结为:

string[] files = Directory.GetFiles("C:\\Starting\\Path\\For\\Search\\",
    "cheese.exe",
    SearchOption.AllDirectories);

请注意文件规范(第二个参数)接受通配符,所以你也可以搜索“.EXE”,甚至“*”递归列出所有文件。



文章来源: Find a file within all possible folders?