windows - 管理员帐户访问 Windows 7 上的文件被拒绝

标签 windows git windows-7 access-denied administrator

我想删除由 git 在我的 Windows 7 机器上创建的 git 存储库(.git 文件夹)。它说拒绝访问 .git/refs/header 文件夹。

我打开一个具有管理员角色的控制台,发出命令“takeown/F heads/A/R”,它仍然显示“错误:访问被拒绝。”,我也无法通过 GUI 安全对话框执行此操作。

有什么建议吗?

问候, 绿色

最佳答案

访问被拒绝错误可能意味着该文件正在被另一个进程使用,对于 GIT 存储库,这似乎比文件权限问题更有可能。

(我假设 GIT 就像 SVN,其中存储库中的每个文件都是由您自己的帐户创建的,具有标准权限。如果不是这样,那么我可能是错的。)

  • 第一步,运行 Process Explorer以管理员身份按下 Ctrl-F 打开一个窗口,您可以在其中键入文件名并查看哪些进程(如果有)打开了该文件。

    当我说“以管理员身份运行”时:

    我不只是指以管理员身份登录时。 Windows 7 的 UAC 意味着管理员帐户默认情况下不会运行具有完全管理员访问权限的东西。右键单击 procmon.exe 并选择“以管理员身份运行”选项。

    我假设您已经通过以管理员身份运行命令提示符来熟悉这一点。 如果您只是更改为管理员帐户,但没有在命令提示符下使用“以管理员身份运行”,这可能就是 takeown 命令失败的原因。命令提示符应显示“管理员:”在它的窗口标题中,如果它被适当提升,除非 UAC 完全关闭。

  • 如果列出了一个或多个进程,请确认列表中的完整文件路径(以防磁盘上的其他文件具有相似的名称)。

  • 关闭所有打开文件的进程。如果可以,请尝试正常关闭它们。作为最后的手段,您可以结束任务。如果它是作为另一个用户/帐户运行的进程,它可能是您可以停止的服务。

    (确保勾选查看->显示所有用户的进程,然后通过 PID 列找到有问题的进程。如果您认为这是一项服务,将鼠标悬停在它上面,将出现一个工具提示,告诉您名称(s) ) 它正在运行的任何服务。)

  • 如果您找不到任何正在访问该文件的进程,或者将它们全部关闭仍然导致访问被拒绝错误,并且您确实在尝试从提升的命令提示符下删除,那么您可能想要尝试告诉 Windows下次重新启动时删除该文件。您可以使用 SysInternals MoveFile的工具。

关于windows - 管理员帐户访问 Windows 7 上的文件被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4551229/

相关文章:

c++ - VS 2013 OpenCV错误: Cannot find or open the PDB file

c++ - 使用 Windows 行尾有效地将文件读取到 std::string

git - 我如何 `git filter-branch` 多个子目录并保留其父目录?

git - 在 Sublime Merge 中显示分阶段更改

windows - Windows 7 上的 SQL Server 2005 企业版

windows-7 - 尝试在 Windows 7 上使用 tcl 线程会导致访问冲突

c++ - Windows:更改 Exe 的 DLL 搜索顺序

windows - 为什么要这样计算位图大小?

xcode - 全局 Xcode 运行脚本

c - 如何在Windows 7中编译NetHack?