在搜索文件夹时,我想跳过某个文件夹不搜索它
FileInfo[] files = sidi.GetFiles();
            DirectoryInfo[] dirs = sidi.GetDirectories();
            foreach (FileInfo file in files)
            {                if (file.Name.Contains(textBox2.Text))
                {
                    //list.Add("type file; path=" + file);
                    filelist.Add(file);
                }
            }
            foreach (DirectoryInfo dir in dirs)
            {
                if (dir.Name.Contains(textBox2.Text))
                {
                    // list.Add("type dir; path=" + dir);
                    dirlist.Add(dir);
                }                searchFD_Contain(dir.FullName);
            }
应该怎么做

解决方案 »

  1.   

    foreach (DirectoryInfo dir in dirs)
    {
       if (..)//dir不是想要的文件夹
           continue;
    }
      

  2.   

    我的文件夹是d:\autorun.inf\antiautorun
    怎么加进去啊
      

  3.   

    if (dir.Name.Contains("d:\autorun.inf\antiautorun"))  continue;还是不行
      

  4.   

    未能找到路径“d:\autorun.inf\antiautorun”的一部分。
      

  5.   

    if ("antiautorun")   continue;还是不行
      

  6.   

    if ("antiautorun")   continue;
    这样不行的哦
      

  7.   

    那你试试这@"d:\autorun.inf\antiautorun"前面加一个@   
      

  8.   

    你的if没有执行 contain是false
      

  9.   

    你的if没有执行 contain是false
      

  10.   

     DirectoryInfo mdirectory = new DirectoryInfo("盘或者文件夹");
     FileSystemInfo[] Infos = mdirectory .GetFileSystemInfos();
    foreach (FileSystemInfo Info in Infos)
      {
       if(info is FileInfo)
         {
           if(info.fullname.Contains("不想要的")
           continue;)
         }
        if(info is DirectoryInfo)
         {
           if(info.fullname.Contains("不想要的")
           continue;)
         }
      }              
      

  11.   

    再加上 if(info.Attributes == FileAttributes.Hidden
          && info.Attributes == FileAttributes.System)
             continue;
      

  12.   

    if(info.Attributes == FileAttributes.Hidden
      || info.Attributes == FileAttributes.System)
      continue;
      

  13.   

    应该是autorun.inf 的问题。
      

  14.   

    我怀疑是autorun.inf 里面的文件夹是用dos建的
    每次都在DirectoryInfo[] dirs = sidi.GetDirectories();这里报错
    未能找到路径“d:\autorun.inf\antiautorun”的一部分。
      

  15.   

    那是隐藏文件吧,没有权限访问的,
    遇到"d:\autorun.inf\antiautorun"就continue吧
    或者加try catch
      

  16.   

    在加一个条件判断 如果是foreach 到你的那个文件我们就 continue  不装入
      

  17.   

    这个函数找不到 他就报错 GetDirectories();