C# 更改文件夹的权限
我想将某些文件夹权限(设置为只读)更改为ReadWriteExecute 我编写了此代码,但文件夹权限仍然是只读的:C# 更改文件夹的权限,c#,file-permissions,permission-denied,C#,File Permissions,Permission Denied,我想将某些文件夹权限(设置为只读)更改为ReadWriteExecute 我编写了此代码,但文件夹权限仍然是只读的: private void ChangePermissions(string folder) { string userName = Environment.UserName; FileSystemAccessRule accessRule = new FileSystemAccessRule(userName, FileSystemRights.FullCont
private void ChangePermissions(string folder)
{
string userName = Environment.UserName;
FileSystemAccessRule accessRule = new FileSystemAccessRule(userName, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit
| InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);
DirectoryInfo directoryInfo = new DirectoryInfo(folder);
DirectorySecurity directorySec = directoryInfo.GetAccessControl();
directorySec.AddAccessRule(accessRule);
directoryInfo.SetAccessControl(directorySec);
}
如果我想用目录删除此目录。删除(文件夹,true)
我会收到以下错误消息:
“对路径“条目”的访问被拒绝。”
当然,权限仍然是只读的
这里出了什么问题?您可以尝试以下方法:
var dirInfo = new DirectoryInfo(folder);
dirInfo.Attributes &= ~FileAttributes.ReadOnly;
这使用按位逻辑AND运算符将
FileAttributes.ReadOnly
(因为~
不是按位的)的倒数附加到现有属性中。相同的错误。“条目”路径是文件夹中的文件,也许我必须递归地更改权限?!(但我不明白为什么只读标志仍然设置为根文件夹?)。所有人的代码都很好@YoushaAleayoub权限是使用FileAttributes处理的