【问题标题】:Can't Delete Cygwin Completely in Windows 10无法在 Windows 10 中完全删除 Cygwin
【发布时间】:2018-05-01 17:37:57
【问题描述】:

我无法在我的 Windows 10 设置中删除 Cygwin。我缩小了范围,导致问题的文件是 C:\cygwin\usr\share\avogadro\crystals\zeolites\CON.cif

【问题讨论】:

  • 尝试询问Super user。除非您想以某种方式以编程方式删除/解锁文件?
  • @pirho 我不在乎。我只是想删除它。
  • 好的,但我的意思是这个网站是针对编程问题的,这似乎是一些属于超级用户的软件/操作系统问题。请参阅上一条评论中的链接。
  • 你需要 cygwin 来删除它;O) 命令是:chmod 777 C:\cygwin\usr\share\avogadro\crystals\zeolites\CON.cif THEN: rm -f C:\cygwin\ usr\share\avogadro\水晶\沸石\CON.cif
  • @JonGoodwin 我没有完全拥有 Cygwin。我开始下载它,但我意识到它会占用多少空间,所以我放弃了。

标签: windows cygwin windows-10


【解决方案1】:

这里参考PowerShell To Set Folder Permissions

  • 替换<User_with_administrator>
$mypath = ".\cygwin64--TO-BE-DELETED"
$myacl = Get-Acl $mypath
$myaclentry = "<User_with_administrator>","FullControl","Allow"
$myaccessrule = New-Object System.Security.AccessControl.FileSystemAccessRule($myaclentry)
$myacl.SetAccessRule($myaccessrule)
Get-ChildItem -Path "$mypath" -Recurse -Force | Set-Acl -AclObject $myacl -Verbose

那么.\cygwin64--TO-BE-DELETED就可以删除了。

【讨论】:

    【解决方案2】:

    我知道这有点晚了,但我喜欢它:

    如果您安装了 Linux 子系统(我有 Ubuntu 18.04),您可以通过 bash 删除该文件,而无需上述任何操作。就这样吧,

    Win+r -> bash -> cd /mnt/c/cygwin64/usr/share/avogadro/crystals/zeolites -> rm CON.cif

    cmd.exeexplorer.exe 的问题在于它们是 Windows 的程序,而 bash 不是。在某种程度上,这与 Lucian 的答案相同,因为它使计算机将文件视为常规文件。

    【讨论】:

      【解决方案3】:

      在我的情况下,为什么无法删除 cywin 目录(文件夹)是由于“访问权限”。要删除文件夹,用户需要“取得”该文件夹的所有权。它不能在 Windows GUI 中轻松完成。但是,使用三个命令行在命令提示符窗口中很容易实现。

      我按照this link 中发布的步骤进行操作。记住要非常确定你在做什么。请注意,命令提示符 DOS 窗口必须以“管理员”身份打开。这个链接的内容:

      以“管理员”身份打开 DOS 窗口“cmd.exe”。向命令提示符发出以下行:

      takeown /f "c:\cygwin" /r /d Y
      

      最后一个参数使 takeown 对所有问题都假设“是”,并且取决于语言环境。在作者的语言环境中,他/她必须回答“J”才能使其工作。

      icacls "c:\cygwin" /T /Q /C /reset
      

      最后,在我们获得相关权限后删除文件:

      rd "c:\cygwin" /s /q
      

      此方法应在 Windows 7 及更高版本中按预期工作。我在 Windows7-x64 和 Windows10-x64 中尝试过。

      【讨论】:

      • 这对我来说在非常锁定的机器上工作。我不得不替换 c:\cygwin64
      • 当我执行第一条语句时,我得到:信息:访问被拒绝。 ("c:\cygwin64\var\log\sshd.log")
      • gimmegimme 请检查您的 DOS 提示符是否已“以管理员身份打开”。
      • zkent: 是的,用户应该将 "c:\cygwin" 替换为 Cygwin 安装需要删除的目标路径 - 您过去在安装 Cygwin 时已指定此路径。
      【解决方案4】:

      以管理员身份在命令提示符下运行以下命令帮助了我:

      C:\>del     \\?\C:\cygwin64\usr\share\avogadro\crystals\zeolites
      \\?\C:\cygwin64\usr\share\avogadro\crystals\zeolites\*, Are you sure (Y/N)? Y
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-14
        • 1970-01-01
        相关资源
        最近更新 更多