【转】无法删除文件的最佳解决方案(可用于删除VISTA文件和文件夹)

来源:互联网 发布:谷德近 知乎 编辑:程序博客网 时间:2024/04/26 00:03

 

 

原帖地址:http://hi.baidu.com/crazyhack/blog/item/6ad2cfbfd55ebd0818d81f08.html

很多朋友都已经安装了Windows Vista的Beta 1版本。但是大家在“体验”完这个未来的操作系统后肯定会比较犯愁:怎么卸载啊?当试图删除Windows等文件夹时,系统会这么提示(如图一,本文中以删除Program Files文件夹为例,适用于任何文件夹的删除):

图一

这是为什么呢?由于为了减少误删除重要系统文件的情况发生,Windows Vista对其系统文件夹(Windows文件夹、程序文件夹等)与其子文件(夹)都详细设置了访问权限。(这也是NTFS一个重要的特性之一)所以我们在其他的系统中试图删除文件夹时由于没有相应的权限,所以就会遭到访问拒绝。

稍有一些经验的朋友都知道,只要我们夺回这个文件夹的控制权,那么我们就可以删除它了。但是我们打开Program Files文件夹的属性中的高级选项卡,却发现什么都是灰色的,无法作任何设置,而且还有一个名为“S-1-5-32-563”的未知用户(如图二)。下面,我向大家介绍一下怎么样删除这个文件夹。

图二

1、点击底部“特别权限或高级设置,请点击‘高级’”旁边的“高级”按钮,打开高级安全设置对话框(如图三)。

图三

2、打开“所有者”标签。我们看到“目前该项目的所有者”就是刚才所提到的那个未知用户,这个用户也就是Windows Vista中的用户。根据NTFS的特性,如果当前计算机账户取得所有者,那么就可以更改对于该文件夹的权限。“将所有者更改为”下面列出了两个项目:一个是Administrators,代表本机的所有管理员账户;另一个是Link,即为当前登录账户。在这里,我们选择Administrators,并选中“替换子容器及对象的所有者”复选框(如图四)。(为什么要选中它?这个涉及到NTFS中权限的继承。平常,我们设置一个文件夹的权限时,其子文件夹也具备了相同的权限,但这只是通常情况。因为如果某一个子文件夹设定不继承父文件夹的权限,那么我们对父文件夹所作的更改,比如设定所有者的操作对这个子文件夹是不起作用的。而且,在Windows Vista Beta 1的系统文件夹中就包含许多这种自文件夹。)接下来,点击“应用”按钮,系统就会自动把设置应用到下属文件夹(如图五)。

图四

图五

       3、执行完操作后,我们发现属性中的安全选项卡仍然不能做出更改。但是我们关闭对话框并重新打开后,我们就可以做出权限上的设置了。在这里,我们删除那个未知用户,并赋予Administrators的完全控制权限,然后点击“应用”按钮(如图六)。但是光这样做还不够。上面我们提到了,由于其下属子文件夹不继承父文件夹的权限设置,所以对于这些子文件夹,我们虽然是其所有者,但是没有任何权限。我们还是点击“高级”按钮。在“权限”选项卡中,与设置所有者相仿,选中“用在此显示的可以应用到子对象的项目替代所有资对象的权限项目”,并点击应用按钮(如图七)。系统会提示我们是否继续(如图八),单击“是”,系统就会把权限设置应用到子文件夹中(如图九)。完成后,点击“确定”关闭对话框后,Program Files文件夹就可以被删除掉了。

图六

图七

图八

图九

4、另外,在高级设置中“权限”选项卡中还有一项复选框:“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”。通过选中或反选该复选框就可设置该文件夹是否继承父文件夹的权限设置。

通过以上实例,大家都知道了如何卸载Windows Vista Beta 1。我们不妨举一反三,在NTFS分区中,当我们遇到一个删除不掉的文件或文件夹时,如果确信该文件(夹)没有被使用时就应该遵循以下步骤:

1、确定是否拥有该文件(夹)的控制权限;

2、如果无法设置权限,检查自己是否拥有足够的权限或为该文件(夹)的所有者;

3、如果以上两条都具备仍无法删除,看看是不是子文件(夹)没有继承父文件夹的权限设置。

此外,NTFS格式分区还有其他很多优点,如果有时间的话,我再向大家介绍一下。