且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

什么是为您在.NET(C#)重分析点的***方式是什么?

更新时间:2023-01-13 14:25:04

任何人都没有权限访问的System Volume Information除SYSTEM帐户。因此,无论更改该目录的权限。或者好得多捕获异常,并继续下去。

My function is pretty much a standard search function... I've included it below.

In the function I have 1 line of code responsible for weeding out Repart NTFS points.

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

The problem is now I am getting an error Access to the path 'c:\System Volume Information' is denied.

I debugged the code and the only attributes at run time for this directory are :

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

I'm executing this code on a windows 2008 server machine, any ideas what I can do to cure this failing?

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);
        }
    }
}

Nobody has permission to access System Volume Information except the SYSTEM account. So either change the permissions on the directory. Or much, much better catch the exception and go on.