本文介绍了为什么我会收到拒绝访问错误的Documents and Settings文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在写一个程序,获取所有目录和子目录。我用下面的code:

I'm writing a program that gets all directories and sub-directories. I'm using the following code:

DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
    string[] directories = Directory.GetDirectories(drive.Name, "*", SearchOption.AllDirectories);
}

但我发现了一个异常,指出访问路径。C:\ Documents和Settings \'被拒绝

But I'm getting an exception stating "Access to the path 'C:\Documents and Settings\' is denied."

我使用的是Windows 7和我没有看到一个C:\ Documents和Settings \文件夹在资源管理器。我启用了显示所有文件和文件夹,甚至尝试直接路径类型,但它提供了以下错误:C:\ Documents和设置为不可访问拒绝访问

I'm using Windows 7 and I don't see a C:\Documents and Settings\ folder in Explorer. I enabled "Show hidden files and folders" and even try to type in the path directly but it gives the following error: "C:\Documents and Settings is not accessible. Access denied."

为什么 Directory.GetDirectories()拉似乎并不存在的目录?

Why is Directory.GetDirectories() pulling a directory that doesn't seem to exist?

推荐答案

这个目录是所谓的一个的,应指向C:\用户

This directory is what is known as a junction point, which should be pointing to c:\users.

从MSDN文档:

这些结点可以被确定如下:

These junction points can be identified as follows:

他们有FILE_ATTRIBUTE_REPARSE_POINT,FILE_ATTRIBUTE_HIDDEN和FILE_ATTRIBUTE_SYSTEM文件属性设置。

They have the FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_HIDDEN, and FILE_ATTRIBUTE_SYSTEM file attributes set.

他们也有自己的访问控制列表(ACL)设置为拒绝读取权限的每一个人。

They also have their access control lists (ACLs) set to deny read access to everyone.

应用程序调用了一个特定的路径,如果他们有必要的权限可以遍历这些结合点。然而,试图枚举结点的内容将导致故障。

Applications that call out a specific path can traverse these junction points if they have the required permissions. However, attempts to enumerate the contents of the junction points will result in failures.

这篇关于为什么我会收到拒绝访问错误的Documents and Settings文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-28 01:13