C# 删除无访问权限的文件/文件夹
程序员文章站
2022-04-29 14:13:46
前言 通过后台,想删除C盘下”C:\\Windows\\winsxs\\Backup“的缓存文件。 然后提示对路径“C:\\Windows\\winsxs\\Backup\\amd64_hid-user.resources_31bf3856ad364e35_10.0.17134.1_zh-cn_aa ......
前言
通过后台,想删除c盘下”c:\\windows\\winsxs\\backup“的缓存文件。
然后提示对路径“c:\\windows\\winsxs\\backup\\amd64_hid-user.resources_31bf3856ad364e35_10.0.17134.1_zh-cn_aaa986c13b7eadf9.manifest”的访问被拒绝。
找到文件,我们可以看到
- 点击右键菜单,会有管理员权限提示图标。
- 查看属性,发现权限属性中,并没有删除和操作的权限
解决方案
如何删除此项”需要提示管事员权限才能删除的文件“呢?
尝试了很多方法
- 给文件/文件夹,添加权限控制。通过filesecurity.addaccessrule添加文件访问权限filesystemaccessrule? -- 没有用
- 去除文件的只读属性。fileinfo.attributes ^= fileattributes.readonly -- 没用
- 通过cmd删除文件/文件夹,开启管理员模式 startinfo.verb = "runas" -- 也无法删除
有一种方案,设置当前应用程序以管理员身份运行,即在vs的工程右键添加”应用程序清单文件“。
添加后,设置以管理员权限运行。
<requestedexecutionlevel level="requireadministrator" uiaccess="false" />
注:
asinvoker : 应用程序以当前的权限运行。
highestavailable: 当前用户可以获得的最高权限运行。
requireadministrator: 以系统管理员权限运行。
添加后,启动程序,会弹出提示。选择第一个选项”管理员身份“,vs会自动重启。之后编译发布成一个exe,就能以管理员身份访问系统文件啦。
注:获取管理员权限后,可删除一些路径如c:\windows\softwaredistribution\download下的文件。
通过管理员权限可删除一切系统文件?不是的,还有一种权限,system。
比如删除c:\windows\winsxs\backup下的文件,提示“你需要权限才能执行此操作”,这个暂时没有找到解决方案
上一篇: 到底吃什么
推荐阅读
-
C#程序中创建、复制、移动、删除文件或文件夹的示例
-
设置带有密码和访问权限的共享文件夹
-
文件夹共享后无访问权限、共享文件夹无法打开、访问不了共享文件夹的解决方法
-
文件无法删除/需要权限执行此操作/无法访问等问题的简单解决方法
-
共享文件夹无法访问、设置文件夹访问权限、共享文件夹拒绝访问的解决方法
-
企业局域网设置共享文件夹的不同访问权限、共享文件访问权限设置方法
-
C# 删除无访问权限的文件/文件夹
-
删除文件提示:文件夹访问被拒绝 需要来自administrator权限执行操作
-
电脑删除文件夹失败提示system的权限怎么办?
-
FTP文件夹错误:打开FTP服务器上的文件夹时发生错误 请检查是否有权限访问该文件夹