2

我已经看到了这个,但还没有完全解决这个问题。当我阅读所有查找并包含文件夹时,编译器 meg 会抛出关于 Unauthorized 的异常。错误抛出编译器:

访问路径 F:\System Volume information \ 被拒绝

我的代码是

private void toolStripButton8_Click(object sender, EventArgs e)
{
    try
    {
        Uri _urii = new Uri(toolStripTextBox1.Text);
        //            MessageBox.Show(_urii.Host);
        string _sthost = _urii.Host;

        string aa = "F:\\" + _sthost + " ";
        string[] _file = Directory.GetFiles("F:\\", "*.txt", SearchOption.AllDirectories); //Exception here create
        foreach (var item in _file)
        {
            MessageBox.Show(item.Length.ToString());

我的问题是F盘没有系统卷信息文件夹.. 为什么抛出这种类型的异常?

4

1 回答 1

1

当您执行“dir”或在资源管理器中查看文件时,隐藏 + 系统文件夹不会显示,但这并不意味着它们不存在。

“系统卷信息”出现在 Windows 接触的非只读磁盘和权限设置中,即使管理员也无权访问(您也可以通过获得所有权以同样的方式访问任何其他受保护的位置)并添加访问权限)。

一般来说,您应该预料到诸如“访问被拒绝”之类的 IO 错误并适当地处理它们。即在文件枚举期间简单地忽略所有IO 异常可能是可以的。

注意使用此命令(在 CMD 控制台中键入)查看该文件夹的属性:

cd f:\ /d && attrib "System Volume Information"
于 2013-03-08T21:51:41.680 回答