我的功能幾乎是一個標準的搜索功能......我已經包含在下面。在.net(c#)中檢查重新分析點的最佳方法是什麼?
在函數中我有1行代碼負責清除Repart 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
我這個執行代碼在Windows 2008服務器上,任何想法我能做些什麼來治癒這個失敗?
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);
}
}
}
這是一個很棒的提示,感謝分享 – 2008-12-01 22:11:39
或者從.NET 4開始,if(attributes.HasFlag(FileAttributes.ReparsePoint))。 – 2011-12-17 17:31:32