今天我遇到了一个奇怪的问题。当使用 Makefile 编译 C++ 项目时,我生成了一个名为 temp.log 的文件。它包含有关是否应打印警告的信息。但是,我不小心中断了编译过程,现在我无法访问 temp.log 文件。
以下是我尝试过的方法:
- 在资源管理器中删除该文件。它会从文件夹中消失,但除了运行 Makefile 时,无法创建同名的新文件,但此后会失败,因为无法将数据写入其中。
- 在 MSYS 中将其修改为 0777。访问被拒绝。
- 将所有者更改为我的帐户。访问被拒绝。
- 尝试通过以管理员身份运行的命令提示符来访问它。访问被拒绝。
- 切换到隐藏的管理员帐户并以此方式访问。访问被拒绝。
- 使用 takeown 作为管理员帐户。访问被拒绝……
我已经束手无策了。我完全不知道发生了什么。任何帮助都将不胜感激。
答案1
当我遇到这种情况时,通常是因为某些东西对文件有独占句柄
我做的是我使用进程探索器并单击工具栏上的望远镜打开查找菜单。从那里您可以输入文件或文件夹的名称,它会列出所有具有该文件的打开句柄的进程。
一旦找到有问题的程序,您就可以终止该程序,或者在选择了该进程后通过右键单击它来终止文件句柄。
答案2
您可以尝试以下几件事:
使用 chkdsk 检查文件系统。
从另一个分区或 Live CD 启动(例如,Ubuntu 12.04)并从那里删除该文件。