Directory.GetFiles("D:\\", "*.doc");

解决方案 »

  1.   

    简单的方法如楼上所说,使用递归遍历:
    public string search(DirectoryInfo info)
    {
       foreach (FileInfo file in info.GetFiles())
       {
          if (满足条件)
             return file.FullName;//假设只需要文件名
       }
       foreach (DirectoryInfo item in info.GetDirectories())
       {
          search(item);
       }
    }
    但且慢!这个问题看似简单,实际上,如果文件夹下的文件和子文件夹很多,用递归的方法效率很低。这时,就需要使用windows search或者Lucene.net之类的全文搜索工具。前者可以通过COM或者OLEDB的方式来访问,后者用它提供的API来调用,只是第一次建索引时很费时间,以后每次搜索都很快。