leo*_*n22 5 c# file-permissions permission-denied
我想将一些文件夹权限(设置为只读)更改为ReadWriteExecute!
我写了这段代码,但文件夹权限仍然是只读:
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);
}
Run Code Online (Sandbox Code Playgroud)
如果我想删除此目录,Directory.Delete(folder, true)则会收到以下错误消息:
“对路径‘条目’的访问被拒绝。”
当然,权限仍然是只读的!
这里有什么问题吗?
你可以尝试这样的事情:
var dirInfo = new DirectoryInfo(folder);
dirInfo.Attributes &= ~FileAttributes.ReadOnly;
Run Code Online (Sandbox Code Playgroud)
这使用按位逻辑 AND 运算符(&=)将其倒数附加到现有 Attributes 属性FileAttributes.ReadOnly(因为~是按位 NOT)。
| 归档时间: |
|
| 查看次数: |
11429 次 |
| 最近记录: |