解决 无法删除文件夹 “文件夹访问被拒绝 你需要权限来执行此操作“ 的问题 理论上还可以使用本方法删除任何文件夹

news/2024/11/6 9:56:07/

文章目录

  • 问题描述
  • 手动方法解决
  • 使用python自动删除

问题描述

有时候磁盘里面一些文件会被一些程序设置了复杂的权限,请原谅本人才疏学浅无法对Windows的权限系统进行合理的解释。这种设置后表现出来的问题是当你想删除该文件夹时提示文件夹访问被拒绝 你需要权限来执行此操作 需要来自??的权限才能对此文件夹进行更改如图所示

如图所示

本人在这里遇到的是WindowsApps文件夹删不掉的问题,在百度,bing上找了很多方法都不行,英语表达不好,谷歌上没怎么找。我甚至尝试了引导ubuntu,使用了sudo rm -rf来删除,仍然无济于事。

sudo都无法解决

手动方法解决

在探索的过程中我发现,网络上一般说法是对根文件夹进行权限设置,但我这里行不通,我的情况是如果要删除需要找到文件夹内每一个文件,经过以下步骤进行设置,便可删除。原谅本人孤陋寡闻,为什么需要对文件手动单独设置才行这个原理还是无法给大伙解释。

  1. 右键 属性 安全 高级 所有者更改为Administrators
    更改所有者
  2. 在下方权限条目添加Everyone的权限 添加everyone权限
  3. 此时再删除文件便可一路删除掉了

但是这种方法有个明显的缺点,万一文件很多很杂就费时费力,所以本人使用python写了个小脚本自动完成上述的操作,理论上还可用于删除任何文件夹。若大佬觉得多此一举或有方便的方法还请轻喷

使用python自动删除

废话不多说,直接上代码,管理员运行的逻辑有参考如下链接。因为本人使用效果很好,以防误操作加入了简单的验证码验证的机制。虽然但是,使用本脚本风险请自己承担,本人测试完美删除有上述问题的各种文件夹。

https://blog.csdn.net/xianjie0318/article/details/108604171

# coding:utf8
import sys
import os
import random
import subprocess
import ctypesdef getFiles(currentDir):files = []subprocess.run(f"takeown /f {currentDir} /a",shell=True)subprocess.run(f"icacls {currentDir} /RESET /C",shell=True)subprocess.run(f"icacls {currentDir} /grant:r everyone:f",shell=True)currentDirFiles = os.listdir(currentDir)for i in range(0,len(currentDirFiles)):currentPath = os.path.join(currentDir,currentDirFiles[i])if os.path.isdir(currentPath):files.extend(getFiles(currentPath))if os.path.isfile(currentPath):files.append(currentPath)return files# https://blog.csdn.net/xianjie0318/article/details/108604171
def is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return Falsedef main():print("输入要获取权限并删除的文件夹")dir = input()if not os.path.isdir(dir):print("路径不是文件夹")input("回车键退出")exit(0)verifyCode = random.randint(100000, 999999)print("")print("")print("")print(f"===!!!警告!!!===")print(f"将尝试获取权限后完全删除 {dir} 的内容")print(f"请核对路径并输入确认码 {verifyCode} 回车键确认")inputVerifyCode = input()if inputVerifyCode != str(verifyCode):print("确认码输入错误")input("回车键退出")exit(0)files = getFiles(dir)for each in files:subprocess.run(f"takeown /f {each} /a",shell=True)subprocess.run(f"icacls {each} /grant:r everyone:f",shell=True)subprocess.run(f"rmdir /s /q {dir}",shell=True)print("")print("")input("处理完成 回车键退出")if is_admin():main()
else:if sys.version_info[0] == 3:ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)else:#in python2.xctypes.windll.shell32.ShellExecuteW(None, u"runas", unicode(sys.executable), unicode(__file__), None, 1)

http://www.ppmy.cn/news/823979.html

相关文章

关于修改文件拒绝访问的问题

问题:修改某些配置文件时,比如mysql安装目录下修改完my-default.ini文件里的内容时,出现拒绝访问的提示。 解决方案:右击-->属性-->安全-->编辑,点击相应的电脑普通用户名,将修改属性设为允许。如…

xp系统文件夹无法访问拒绝访问解决方法

大小显示0字节。 造成重装或还原XP系统后某些文件或文件夹不能访问的原因,主要是在重装之前对文件或文件夹设置了访问权限或进行了加密。解决办法是使用管理员身份登录,然后修改这些文件或文件夹的访问权限,使得当前用户能够完全控制它们。…

电脑出现 无法访问 某文件夹。 拒绝访问。

(一)电脑出现“无法访问 某文件夹。 拒绝访问。”如图: 解决方法: 1)右键该文件夹,单击“属性”,选择“安全”标签,出现一个提示,如图: 2)点击确…

Windows 10 无法访问某文件夹(如C:\Documents and Settings)。拒绝访问。解决方法

目录 0.问题界面 1.第一步:资源管理器:查看选项 2.第二步:查看去勾 3.第三步:进入文件夹属性 4.第四步:删除拒绝 5.第五步:添加完全控制的Everyone 0.问题界面 1.第一步:资源管理器&#x…

win10系统出现打开文件被拒绝访问的问题

有一位深度技术的小伙伴找到深度小编反馈说,他的win10专业版电脑在打开一些文件的时候,出现被拒绝访问的问题,如果你也遇到这样的问题,可以一起往下看看具体的解决方法吧。、 1、右键点击无法打开的文件夹点击属性,在弹出的窗口中…

共享文件计算机和设备拒绝访问,“拒绝访问”共享文件解决方法

当我们想共享别人的文件或者别人想共享我们的文件的时候,经常会出现不能访问的情况。这是由于主机电脑设置了访问权限,拒绝了外来的访客,从而达到保护自身文件安全的目的。如果我们想要进行文件共享,就必须更改主机电脑的访问权限…

目标文件夹访问被拒绝

文章目录 "目标文件夹访问被拒绝”的问题问题描述原因分析:解决方案: "目标文件夹访问被拒绝”的问题 问题描述 当复制文件到另一个文件夹时,出现需要管理员权限才能操作的问题。但是点击以管理员身份运行后还是出现了被目标文件夹…

win10计算机拒绝访问,Win10文件访问被拒绝如何解决?

最近有Win10系统用户反映,打开文件夹时出现提示框“你当前无权访问该文件夹”,这是怎么回事呢?其实,这是Win10系统为了保护系统文件的安全所给出的安全警告。只要提升自己的访问权限就可以访问相对应的文件夹。下面,我…