C# 以管理员权限删除文件
前言
通过后台,想删除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,就能以管理员身份访问系统文件啦。
附加
System权限
注:获取管理员权限后,可删除一些路径如C:\Windows\SoftwareDistribution\Download下的文件。
通过管理员权限可删除一切系统文件?不是的,还有一种权限,System。
比如删除C:\Windows\WinSxS\Backup下的文件,提示“你需要权限才能执行此操作”,这个暂时没有找到解决方案

只读属性
即使当前是管理员权限,也无法删除只读的文件。所以需要取消只读
//1.如果是只读,则取消只读
if ((fileInfo.Attributes & FileAttributes.ReadOnly) > )
fileInfo.Attributes ^= FileAttributes.ReadOnly;
关键字:以管理员身份启动程序、清理C盘文件
C# 以管理员权限删除文件的更多相关文章
- win10 系统怎么获取最高管理员权限删除文件
http://www.xitongcity.com/jiaocheng/win8_content_3473.html 很多win8.1系统用户在对磁盘文件进行清理时,经常会遇到“文件夹访问被拒绝,您需 ...
- Ubuntu创建新用户并增加管理员权限 删除某个用户
sudo adduser xxx 这样的命令会在home目录下添加一个帐号sudo useradd xxx 仅仅是添加用户, 不会在home目录添加帐号 删除:终端方法:以下用newuser代替想要删 ...
- win7,win8取得管理员权限 .reg文件
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="获取管理员所有权" " ...
- windows获取管理员权限 操作文件
1.文件右键属性 2.安全tab 一路 “应用”和“确定”
- Win7如何删除需要管理员权限才能删除的文件夹
在Windows 7系统运行中.往往会遇到想要删除某个文件夹时,系统提示:文件夹访问被拒绝 你需要权限来执行此操作,如何才能删除此类文件夹呢? ------------------ --------- ...
- 你需要管理员权限才能删除文件夹及服务器C盘不及批处理
Windows 7系统,管理员权限设置方法 一.选择文件夹或文件所有者 我们用鼠标右键点击要操作的文件或文件夹 - 属性: 在出现的文件夹属性窗口,我们用鼠标左键点击:安全: 我们用鼠标左键点击:高级 ...
- 以管理员身份运行 cmd 删除无权限删除的文件夹
rd 文件夹 PS:删除空文件夹 rd /s 文件夹 PS:删除文件夹,及所有子目录和文件 rd /s/q 文件夹 PS:强制删除文件夹,及所有子目录和文件,不需要提示
- window 10 删除带有管理员权限的Oracle文件夹
因为文件已经被删除就不附图解释了 因为文件安装的方式错误,所以本是按照正常步骤卸载Oracle,前面的禁用Orace服务与删除Oracle注册表都没有出错,但到最后一步---------Oracle文 ...
- win10删除文件夹时需要管理员授权或拒绝访问(无权访问权限修改)
win10 用户:我自己就是电脑主人,凭啥我没有自己电脑文件夹的权限? 微软:对不起,您是电脑硬件的主人,但是电脑系统的主人是我!你只不过是个用户而已. win10 用户:我cao你...[哔-] 对 ...
随机推荐
- linux android开发环境搭建
android开发环境搭建的一些有用链接:1.sdk manager的国内服务器http://www.cnblogs.com/huangjacky/p/4077982.html2.常见问题的解决htt ...
- 反沙箱——SetErrorMode
目录 1.前言 2.原理讲解 3.代码实现 4.参考 1.前言 利用SetErrorMode进行反沙箱的技术,在2010年就有被提出,但是之前搜了很久都没有相关内容,这里简单的说一下这个反沙箱的实现. ...
- python处理参数的getopt的使用
在写脚本程序的时候需要添加一些额外的参数来实现脚本的附加功能或者增强功能,通常的做法是同sys.argv[i]直接来获取参数的值,但是这个比较局限,要求参数的输入一定要按照顺序. fileName = ...
- unittest中的Empty suite错误
import unittest from selenium import webdriver class ibdata(unittest.TestCase): @classmethod def set ...
- vi 配置
vim ~/.vimrc source ~/.vimrc 添加相关配置 一直生效 0 行首 $ 行尾 spacebar 空格键: 合并多行 spaceba ...
- 发现了学校教务处官网的两个BUG
许久没有写博客了,感觉自己技术还差的好多-_-好像没啥好写的,之前学完了某易的WEB安全基础视频教程,自认对WEB安全入了门,忍不住就想拿学校教务处官网来练练手 教务处登录界面如图所示(为保护隐私,部 ...
- [译文]Domain Driven Design Reference(六)—— 提炼战略设计
本书是Eric Evans对他自己写的<领域驱动设计-软件核心复杂性应对之道>的一本字典式的参考书,可用于快速查找<领域驱动设计>中的诸多概念及其简明解释. 其它本系列其它文章 ...
- 算法与数据结构(四) 图的物理存储结构与深搜、广搜(Swift版)
开门见山,本篇博客就介绍图相关的东西.图其实就是树结构的升级版.上篇博客我们聊了树的一种,在后边的博客中我们还会介绍其他类型的树,比如红黑树,B树等等,以及这些树结构的应用.本篇博客我们就讲图的存储结 ...
- 基于Java的ArrayList和LinkedList的实现与总结
一.定义MyList接口,包含列表常见方法: import java.util.Iterator; /** * 线性表(列表)的接口定义 */ public interface MyList<T ...
- 私有云的难处—为什么需要CloudEngine?
私有云的难处 ——我们为什么需要 CloudEngine? 郑昀 创建于2016/7/31 最后更新于2016/8/3 关键词: 容器.Docker.OpenStack.虚拟机.私有云.Mesos.配 ...