[翻译]Windows Vista的秘密#11: 删除不可删除的东西

原文地址: http://blogs.msdn.com/tims/archive/2006/11/10/windows-vista-secret-11-deleting-the-undeletable.aspx
作者:Tim Sneath
翻译:Tony Qu (来自 BluePrint翻译团队

我们大部分人都是从Window XP或Windows Vista的早期版本转向最终RTM的,我认为这个小技巧是适合我们的。你知道Windows Vista有许多种不同的方法来升级计算机,从直接的替换安装(插入CD,运行安装并选择升级)到Windows Easy Transfer(允许你从一个老的安装中拷贝设置、程序和数据到一个全新的系统环境)。但是我是个纯化论者,不希望有任何碎片,坚持将系统安装到一个纯净的,没有任何污点的分区。

在安装时,即使是管理员,找到不能访问的文件夹也是很寻常的,因为设置它们的账号ACL是通过原本应用到旧分区的SID完成的。例如,在我家里的机器上,我更换了C:和D:驱动器线,并把Windows Vista RTM安装到一个新的盘符上。当测试并确认所有的东西都工作得很好的时候,我想删除一些老的冗余的目录(比如老的program files目录)。如果连管理员都无法访问这些文件,你该如何获得权限呢?

秘密藏在两个命令行工具,其中一个比较古老,另一个则完全是为这个版本修订的。它们是takeown(可获得一个文件或目录的拥有权)和icacls(可以对一个目录设置新的ACL)。我在我的系统上创建了一个批处理程序,叫做itsmine.cmd, 如下所示:

takeown /f %1 /r /d y
icacls %1 /grant administrators:F /t

在一个升级的(elevated)命令提示符中,从你可以运行一个命令,比如itsmine d:\hard_to_delete,它会重置拥有权和hard_to_delete目录的ACL,例如rd /s d:\hard_to_delete 应该可以运行。

上周,这两行命令已经为我减少了很多痛苦,因为我逐渐熟悉了,并在每台计算器上重新安装了Windows Vista RTM版本:希望它们也同样对你有用。

你可能感兴趣的:(windows,工作,XP,F#)