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