我的函数基本上是一个标准的搜索函数...我在下面包含了它。
在这个函数中,我有一行代码负责清除Repart NTFS点。
if (attributes.ToString().IndexOf("ReparsePoint") == -1)
现在的问题是我收到了一个错误信息:访问路径'c:\System Volume Information'被拒绝。
我已经调试了代码,发现这个目录在运行时只有以下属性:
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);
}
}
}
if (attributes.HasFlag(FileAttributes.ReparsePoint))
来判断是否为符号链接。 - Roman Starkov