想象一下,我们有一个程序试图写入特定文件,但失败了。
在Windows平台上,可能导致文件不可写的可能是什么,以及可以建议最终用户/管理员修改它的步骤。
请包含可能需要管理员权限的步骤(显然用户可能不是管理员,但对于这个问题,我们假设他们是(或可能成为)管理员。
另外,我并不熟悉如何在Windows中计算权限 - 用户是否需要对树上的每个目录进行写访问?或者类似的东西?
答案 0 :(得分:3)
一些建议:
attrib -r
取消设置;您必须是文件所有者或管理员)编辑1:只有第二项(文件被锁定)有一个可能的解决方案,所有用户都可以在没有帮助的情况下完成。对于第一个和第三个,您可能希望提供指导(并希望文件不是故意制作为只读的。)。
编辑2:从技术上讲,用户确实需要对根目录下的所有目录执行写入和执行(chdir)权限。 Windows可能会跳过树上的一些递归检查作为性能优化,但您不应该依赖于此,因为管理员可以强制对某些用户进行这些所谓的“遍历检查”。
编辑3:@RobM:是的,您应该检查没有明显的原因,用户不应该拥有她需要但没有的权限。在我的第一次编辑中,我以一种不太直接的方式提到了这一点。但是,在某些情况下,用户应该具有对文件的写入权限,但不会因为文件系统损坏,行为错误的程序或者自己的错误而对文件具有写入权限。
答案 1 :(得分:1)
如果您在文件被锁定时遇到问题,请尝试使用Unlocker - 这是一个非常有用的免费工具,它会向您显示锁定文件的过程,如果您需要,可以强制解锁
答案 2 :(得分:0)
在Vista上也可能是因为它已被“标记”为不安全因为它已经从互联网上下载而你必须点击它的资源管理器属性对话框中的解锁按钮?
答案 3 :(得分:0)
让我们稍微改变一下。如果您的程序正在尝试写入文件并且失败,您需要将文件的位置更改为用户可以写入的位置,或者在程序启动时检查正确的权限,如果用户没有,则拒绝运行拥有他们。践踏系统权限不是答案。