参考: http://blog.csdn.net/zjjyliuweijie/article/details/6577037
http://blog.csdn.net/huangzhtao/article/details/6038504
http://blog.csdn.net/hu_shengyang/article/details/7828998
为什么Cygwin的安装目录(在win7重装后)会如此难以删除?
在正常情况下,Cygwin的反安装程序自然是删除该目录的最好选择。但win7的重装会反安装程序,这之后再要删除该目录就有点麻烦了。因为Cygwin 所模拟的是Linux的权限管理体系,这跟Windows的默认权限管理存在着一些冲突。不信的话,您可以用右键查看一下该目录属性中的安全选项,就会在"组或用户名"一栏中看到一些无法识别的用户(带问号),它们其实是系统重装之前的用户,它会有一串用于唯一识别的数字。所以哪怕我们重装系统之后再使用原来的用户名,这个唯一识别号也是完全不同的。因此,我们当前登录的帐号对文件没有修改和删除的权限。
如何删除Cygwin?
在win7下,人们对于无法修改或删除的文件夹及文件,一般会采取先获得权限再进行修改的处理方式,这种方式通常包括两个步骤:首先修改目标文件夹及其文件的所有者,使得当前用户获得对其的访问权限。然而在win7中,如果要删除一个文件夹的话,需要对该文件夹下的所有文件和文件夹都拥有权限才能删除,但在图形界面中,修改一个文件夹的用户权限仅对该文件夹下的第一层文件和文件夹有效,无法递归至更深层次的文件及文件夹。而cygwin安装目录的深度很大,且文件众多,手动修改起来会显得非常麻烦,耗时,因此本人强烈建议大家选择第2中方法,程序修改。
手动删除:
右键点要删除Cygwin文件夹,依次选属性->安全->高级->所有者->编辑,将所有者改为你的登录帐户,勾选下方"替换子容器和对象的所有者"。
在 属性->安全->高级对话框中选"审核选项卡",点"继续",点"添加",输入:Everyone,点"确定"添加Everyone帐户,在弹出的对话框中将"完全控制"后面的允许勾上,勾选"使用可从此对象继承的权限替换所有子对象权限",点击"确定"。
现在,我们可以顺利删除Cygwin文件夹了。显而易见,手动删除是件非常痛苦的工作。
程序删除:
使用takeown.exe修改cygwin文件夹及其子文件的权限。takeown.exe可从网上下载,下载完成之后,将takeown.exe放在cygwin的安装目录下,然后在cmd中输入:<code> takeown.exe /F * /R </code>。该命令会负责把takedown所处目录下的所有文件和文件夹的所有者修改成当前用户,并且可对这些目录进行递归操作,令其对所有子目录和子文件生效。
用win7系统提供的命令修改用户对目标文件夹下所有子目录的访问权限。该命令为Icacls,其用法亦可在网上搜到:<code>Icacls \cygwin /T /grant user:F </code>。
该命令会赋予user用户cygwin文件夹及其所有子目录和子文件的完全控制(F)权限。
以上两个步骤都需要一定的处理时间,2、3分钟左右,请务必要耐心等其执行完毕。