发布网友 发布时间:2023-08-20 12:25
共1个回答
热心网友 时间:2023-08-27 03:05
在我们使用windows的过程中,会遇到各种各样的问题。即使是最简单的删除档案也可能遇到麻烦,要么系统提示“档案正在被另一个人或程式使用”,要么就是报告“访问被拒绝”,接下来由我为大家推荐电脑技巧,希望对你有所帮助!
原因一:档案正在使用中
在删除档案时,经常会遇到的一个问题是,档案正在使用,无法删除。如果试图删除以独占访问而不是以共享访问方式开启,并且正在使用中的档案时,系统就会出现错误提示:“无法删除xxx:档案正在被另一个人或程式使用”。而另一种情况则是,能够使用删除命令删除档案,但在开启档案的程序释放该档案之前,档案实际上并未删除。
要解决上述问题,需要确定拥有档案开启控制代码的程序,然后关闭此程序。在以前的windows中,我们可以使用资源工具包的oh.exe。但在xp中,安装好的support tools却不带oh.exe。不过,xp提供了一个新的openfiles.exe命令列工具,它能够报告程序开启的各个档案。与oh.exe相似,openfiles.exe也要求开启系统核心监视,这会消耗一些记忆体,并降低系统操作的效能。开启系统监视的命令是“openfiles /local
on”,它会启用系统全域性标志“维护物件列表”,需重新启动系统才能生效。重新启动系统后,在命令提示符下执行不带引数的“openfiles”,即可看到各个程序开启档案的清单。
原因二:档案系统损坏
磁碟上的坏区、其他硬体故障或者软体错误都可能会损坏档案系统,使档案出现问题而无法删除。典型操作失败的方式可能各不相同,当检测到档案系统损坏时,通常会收到一条提示执行chkdsk的资讯。
如果遇到这种情况,可以在磁碟卷上执行chkdsk实用工具以纠正任何存在的错误。根据损坏的性质,chkdsk也许能够恢复档案资料,也许无法恢复,但chkdsk可以使档案系统返回到一种在内部一致的状态。有关chkdsk实用工具的命令及引数,可以在命令提示符下执行“chkdsk/?”查阅。
原因三:档案使用了存取控制列表
如果某个档案使用了存取控制列表***access control list,简称acl***,而操作者又没有相应的许可权,那么删除档案时就可能出现“访问被拒绝”的提示。
通常情况下,管理员具有取得任何档案所有权的隐含能力,档案所有者也具有修改档案许可权的隐含能力。不过,这些预设的许可权是可以被修改的。
要解决因acl导致档案无法删除的问题,就必须以具有相应许可权的使用者身份登入,或者是赋予自己删除档案的许可权,然后才能删除档案。要注意的是,操作者必须拥有这些档案的所有权才能更改许可权。如果是因为档案使用了不规范的acl而不能使用某些安全工具显示或修改其许可权时,可以尝试使用命令列工具cacls.exe进行修改。
原因四:档名使用了一个保留名称
众所周知,像aux、lpt1这样的名称是为旧式dos装置保留的。为了向后相容,在windows中不允许使用这些档名,也不能使用典型的win32档案呼叫来建立它们。反之,如果档名是win32名称空间中的一个保留名称,则同样可能无法删除此档案。
要解决此类问题,可以在linux或其他非windows的作业系统下重新命名或删除该档案。另外,如果能够使用特定的语法指定到该档案的路径,也可以使用一些内建的命令绕过典型的win32保留名称检查。例如,在windows xp中使用以下命令,可以删除名为“lpt1”的档案***del命令后面加上“?”来避免windows检查档名的合法性***: del c:档案路径lpt1
原因五:无效的档名称
如果档名中包括一个无效名称,例如档名有一个尾随空格,或一个尾随句点,或者档名仅由一个空格组成,同样可能无法删除该档案。值得一提的是,如果使用典型的win32语法开启名称中有尾随空格或尾随句点的档案,则尾随空格或句点在开启实际档案之前会被去掉。因此,如果在同一个资料夹中有两个分别名为“file.txt”和“file.txt ”的档案***注意第二个档名后面的空格***,当使用标准win32呼叫开启第二个档案时,实际上会开启第一个档案。同样,如果档案的名称仅是“ ”***一个空格字元***,当尝试使用标准win32呼叫开启它时,实际上会开启该档案的父资料夹。在此情况下,如果尝试更改这些档案上的安全设定,就有可能会意外更改其他档案上的设定。
与解决档名使用保留名称的方法类似,可以使用一种适当的内部语法删除此档案。例如要删除包含尾随空格的档案,可以使用如下命令: del c:档案路径***尾随空格的档名***
原因六:档案路径太深无法访问
档案位于比最大路径字元数***max_path***更深的路径中,可能导致档案无法访问,当然,这种情况较为少见。如果路径深的原因是资料夹名称太长,最简便的解决方案是使用自动生成的8.3名称访问该档案。如果8.3路径也太长,可以从根资料夹开始重新命名资料夹,缩短它们的名称,以使目标档案的路径深度不超过max_path。若是档案的深度超过128个资料夹,可以通过建立一个网路共享,使其位于资料夹树中尽可能深的位置,然后通过访问此共享来访问档案。
一般情况下,如果遇到因档案路径太深无法访问的情况,可以通过使用建立档案的软体来管理这些档案。也就是说,如果有一个程式,它可以建立超过max_path的档案,则我们也可以使用该程式来管理这些档案。此外,对于通过网路共享建立的深层次结构的档案也可以通过使用同一共享来进行删除。
前面介绍了windows系统中档案或资料夹无法删除的几种原因以及解决的方法。在某些情况下,可能还会遇到上述各种原因的不同组合,使得删除档案的过程更加复杂。这就需要读者能够举一反三,灵活应用微软提供的各种实用工具进行解决了。