gpt4 book ai didi

c# - 检查文件/文件夹访问权限

转载 作者:太空狗 更新时间:2023-10-29 17:39:42 26 4
gpt4 key购买 nike

运行这段代码时我得到一个 UnautorizedAccessException:

string[] fileList = Directory.GetFiles(strDir, strExt);

异常发生在c:\users\username\appdata如何检查我是否有访问权限(列出和读取文件)?

最佳答案

首先,我会手动检查权限,看看哪些会阻止您,哪些不会。我正在使用类似这样的方法来检查权限(对于复制文件):

AuthorizationRuleCollection acl = fileSecurity.GetAccessRules(true, true,typeof(System.Security.Principal.SecurityIdentifier));
bool denyEdit = false;
for (int x = 0; x < acl.Count; x++)
{
FileSystemAccessRule currentRule = (FileSystemAccessRule)acl[x];
AccessControlType accessType = currentRule.AccessControlType;
//Copy file cannot be executed for "List Folder/Read Data" and "Read extended attributes" denied permission
if (accessType == AccessControlType.Deny && (currentRule.FileSystemRights & FileSystemRights.ListDirectory) == FileSystemRights.ListDirectory)
{
//we have deny copy - we can't copy the file
denyEdit = true;
break;
}
... more checks
}

此外,还有一些奇怪的情况,文件夹上的某个权限会更改文件的权限,而不管它们的个人权限如何(我会看看我是否能找到它是什么)。

关于c# - 检查文件/文件夹访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3456397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com