从第二个驱动器删除旧的 Windows/程序文件?

从第二个驱动器删除旧的 Windows/程序文件?

我的 PC 有很多额外的驱动器。其中大多数都包含 Windows 和 Program Files 的旧副本。我的​​ PC 名为“PC”,我的管理员用户名为“Tim”。我已将这些第二个驱动器的所有权分配给用户“PC\Tim”,并授予用户“PC\Tim”对这些驱动器的完全控制权。然后,我尝试删除这些驱动器上的 Windows 或 Program Files 文件夹,并收到消息。

“您需要 PC\Tim 的许可才能更改此文件夹。”

这些文件夹的当前所有者列为“Tim (PC\Tim)”。这些文件夹的有效权限列出了此用户拥有的所有权利。

微软社区中荒谬的“答案”当然提供诸如“使用磁盘清理”(这是一个明显无知的答案)或“只需重新格式化驱动器”(格式化可以避免问题而不是解决问题)之类的东西。

删除这些旧文件的正确步骤是什么?

答案1

  1. 以管理员权限打开命令提示符。

  2. 逐个运行以下命令(将“Z:\Program Files”更改为要删除的文件夹):

     takeown /F "Z:\Program Files" /A /R /D Y
     icacls "Z:\Program Files" /T /grant administrators:F
     rd /s /q "Z:\Program Files"
    

注 1 - 操作系统语言:takeown ... /D Y输入 Y 代表“是”,根据操作系统语言的不同会有所不同。Program Files 文件夹和管理员的名称也可能不同。

注 2 - 旧版本的 Windows:如果不支持icacls和,请尝试使用和rdcaclsrmdir

解释和文件:

问题可能是你没有正确的权限 自主访问控制列表 (DACL)文件夹及其内容。DACL 标识允许或拒绝访问可安全对象的受托人。因此,仅仅授予文件夹所有权可能还不够,您还需要在 DACL 中授予权限。您可以使用 icacls 命令授予权限,如上例所示。访问控制列表和 DACL 说明

承担 接管文件 管理员通过将管理员组设为所有者,可以恢复之前被拒绝的目录及其内容的访问权限。/F [目录]指定哪个目录,/A赋予管理员组所有权,/R对目录、所有文件和子目录执行递归操作,/D当用户没有“列出文件夹”权限时,禁止确认提示,如下所示选项,该选项获取目录的所有权。(注意:Y 选项可能因操作系统语言而异)。

伊卡克尔斯 icacls 文档 授予管理员组对目录的完全访问 DAC 权限。[目录]指定哪个目录,/T对目录和子目录中的所有指定文件执行操作,/授予授予指定用户访问权限:F授予完全访问权限。(注意:组名管理员可能因操作系统语言不同而不同)

研发文档 删除目录及其所有子目录和文件。/秒删除指定目录及其子目录(包括所有文件),/q指定安静模式,因此您不会收到确认提示,[目录]指定要删除的目录。

答案2

对我有用的是这个建议

  1. 将文件夹重命名WindowsWindows.old
  2. 从“开始”菜单运行“磁盘清理”
  3. Windows.old选择包含该文件夹的驱动器
  4. 上一步“Windows 安装”,然后单击“确定”

答案3

注意:现在我想起来了,你应该可以从第 4 步开始,只需点击“更改权限”按钮即可获得访问权限。我会测试,但我没有目录可以删除。

在 Windows 10 上(可能也适用于 Windows 7 和 8):

  1. 右键单击文件夹->属性->安全->高级。
  2. 单击所有者旁边的“更改”(在顶部)。在框中输入您的用户名,然后点击检查名称。(应转换为 MACHINENAME\USERNAME 样式。)
  3. 点击“确定”、“确定”、“确定”退出安全选项。

您现在应该拥有该目录。

  1. 右键单击文件夹->属性->安全->高级。(再次。)
  2. 在权限列表中找到“用户”。单击它,选择编辑,然后选择完全控制。
  3. 在底部,选中“替换所有子权限条目……”。
  4. 点击“确定”,然后在警告框中选择“是”。等待计算机应用新的权限。

您现在应该具有删除文件所需的权限。请执行此操作。(在 Program Files 文件夹和 Windows.old 上均进行了测试。)

答案4

只需将 Program Files 重命名为 Windows.old,然后运行磁盘清理即可清除系统文件。同样的技巧适用于任何无法删除的文件夹。

相关内容