代码之家  ›  专栏  ›  技术社区  ›  Michael L

在.net(c#)中检查重分析点的最佳方法是什么?

  •  3
  • Michael L  · 技术社区  · 16 年前

    我的函数几乎是一个标准的搜索函数。。。我把它包括在下面。

    在这个函数中,我有一行代码,负责清除重新启动NTFS点。

    if (attributes.ToString().IndexOf("ReparsePoint") == -1)
    

    Access to the path 'c:\System Volume Information' is denied.

    我调试了代码,运行时此目录的唯一属性是:

      System.IO.FileAttributes.Hidden 
    | System.IO.FileAttributes.System 
    | System.IO.FileAttributes.Directory
    

    public void DirSearch(string sDir)
    {
        foreach (string d in Directory.GetDirectories(sDir))
        {
            DirectoryInfo dInfo = new DirectoryInfo(d);
            FileAttributes  attributes = dInfo.Attributes;
            if (attributes.ToString().IndexOf("ReparsePoint") == -1)
            {
                foreach (string f in Directory.GetFiles(d, searchString))
                {
                    //lstFilesFound.Items.Add(f);
                    ListViewItem lvi;
                    ListViewItem.ListViewSubItem lvsi;
                    lvi = new ListViewItem();
                    lvi.Text = f;
                    lvi.ImageIndex = 1;
                    lvi.Tag = "tag";
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = "sub bugger";
                    lvi.SubItems.Add(lvsi);
    
                    lvsi = new ListViewItem.ListViewSubItem();
                    lvsi.Text = d;//"C:\\Users\\Administrator\\Downloads\\MediaMonkey.GOLD.EDITION.v.3.0.2.1134.[Darkside].[Demonoid].[Grim.Reaper]";
                    lvi.SubItems.Add(lvsi);
    
                    listView1.Items.Add(lvi);
                }
                DirSearch(d);
            }
        }
    }
    
    4 回复  |  直到 9 年前
        1
  •  18
  •   Greg Beech    16 年前

    我不确定这个问题的答案是什么,但是 更改属性检查以使用正确的位操作!

    if (attributes.ToString().IndexOf("ReparsePoint") == -1)
    

    ... 写得更正确的是。。。

    if ((attributes & FileAttributes.ReparsePoint) == 0)
    
        2
  •  3
  •   Stephen Martin    16 年前

        3
  •  1
  •   netadictos    16 年前

    或许本文可以帮助您(他们解释了如何访问此文件夹):

    http://support.microsoft.com/kb/309531

    不顾一切的解决办法是捉迷藏。

        4
  •  0
  •   Sinus has tentacles    6 年前

    一旦您通过了权限,并且确实想要测试连接点, this class