在系统的日常使用中,我们经常会遇到文件删除不了的情况,提示删除文件或文件夹出错或文件夹访问被拒绝等等类似情况,在XP/Win7/Win8系统中都会遇到。用常规方法无法解决,下面小编将尝试各种非常规的方法来彻底删除这些顽固文件或文件夹。
一、常规解决办法:
1.注消或重启电脑,然后再试着删除。
2.进入安全模式删除。
3.在纯DOS命令行下使用DEL,DELTREE和RD命令将其删除。
4.如果是文件夹中有比较多的子目录或文件而导致无法删除,可先删除该文件夹中的子目录和文件,再删除文件夹。
5.在任务管理器中结束Explorer.exe进程,然后在命令提示符窗口删除文件。
6.如果你有安装ACDSee,FlashFXP,Nero,Total这几个软件,可以尝试在这几个软件中删除文件夹。
二、高级解决方案:
这种问题更一般的方法就是更改文件权限,右键文件--属性--安全--编辑。修改文件权限,如果提示无法修改权限,就先修改文件所有者,右键文件--安全--高级--所有者然而当有不止一个这样的文件的时候,这样的操作就不实在了。所以再简单介绍两个工具:takeown和cacls
takeown以重新分配文件所有权的方式允许管理员重新获取先前被拒绝访问的文件访问权。
软件名称:系统文件权限获取器(TakeOwnershipEx)v1.1.0绿色版
下载地址:
参数:
/Ssystem指定要连接到的远程系统。
/U[domain]user指定用户上下文,命令在此上下文中执行。
/P[password]指定给定用户上下文的密码。如果省略,提示输入。
/Ffilename指定文件名或目录名模式。可以用通配符"*"指定模式。允许共享名文件名。
/A将所有权给于管理员组,而不是当前用户。
/R递归:指示工具运行于指定的目录和子目录里的文件上。
/Dprompt当前用户在一个目录里没有"列出文件夹"权限时,使用默认答案。当在子目录里进行递归(/R)操作时会发生这种情况。用有效值"Y"获取所有权或用"N"跳过。
下面是几个常用的示例
TAKEOWN/Flostfile::将lostfile所有权给当前用户
TAKEOWN/Fdirectory/R/A::递归的方式将directory目录下文件所有权限给管理员组
TAKEOWN/F*::将当前目录下所有文件所有权给当前用户
TAKEOWN/F%windir%*.txt
cacls用来显示或者修改文件的访问控制列表。
软件名称:cacls.exe下载
下载地址:
参数:
CACLSfilename[/T][/M][/L][/S[:SDDL]][/E][/C][/Guser:perm]
[/Ruser[]][/Puser:perm[]][/Duser[]]
filename显示ACL.
/T更改当前目录及其所有子目录中指定文件的ACL.
/L对照目标处理符号链接本身
/M更改装载到目录的卷的ACL
/S显示DACL的SDDL字符串。
/S:SDDL使用在SDDL字符串中指定的ACL替换ACL.(/E、/G、/R、/P或/D无效)。
/E编辑ACL而不替换。
/C在出现拒绝访问错误时继续。
/Guser:perm赋予指定用户访问权限。
Perm可以是:R读取
W写入
C更改(写入)
F完全控制
/Ruser撤销指定用户的访问权限(仅在与/E一起使用时合法)。
/Puser:perm替换指定用户的访问权限。
Perm可以是:N无
R读取
W写入
C更改(写入)
F完全控制
/Duser拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。
也可以在命令中指定多个用户。
缩写:
CI-容器继承。ACE会由目录继承。
OI-对象继承。ACE会由文件继承。
IO-只继承。ACE不适用于当前文件/目录。
ID-已继承。ACE从父目录的ACL继承。
例如:
caclsfilename/E/PAdministrators:F将Administrators对filename的访问权限改为完全控制
cacls*/E/C/PAdministrators:F将Administrators对所有文件访问权限改为完全控制
通过这两个命令就可以批量获取文件的所有权,然后正常删除文件了