我需要拥有该文件夹及其子文件夹的所有权才能删除它。手动处理对我来说很好:打开文件夹属性。安全选项卡->高级->所有者更改->选中“替换子容器和对象上的所有者”出现消息框:您无权读取目录C:\ a4f31eae62bde1cb4d49834897 \ Sandbox的内容。您是否要使用授予您完全控制权限的目录替换目录权限?如果按是,将替换所有权限。按是然后,我可以删除该文件夹。但是我有大约数百个这些文件夹(reason),所以我想以编程方式删除它们。我的代码获得了文件夹的所有权,而不是子文件夹的所有权。var identity = WindowsIdentity.GetCurrent().User;var dirInfo = new DirectoryInfo(dirPath);var dirSecurity = dirInfo.GetAccessControl();dirSecurity.SetOwner(identity);var fullControlRule = new FileSystemAccessRule(identity, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow);dirSecurity.AddAccessRule(fullControlRule);dirInfo.SetAccessControl(dirSecurity);之后尝试删除文件夹时,出现System.UnauthorizedAccessException:拒绝访问路径'C:\ a4f31eae62bde1cb4d49834897 \ Sandbox'。
1 回答
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报
0/150
提交
取消