为什么我在尝试打开和保存文件时会出现“文件正在被其他用户使用”和“应用程序共享冲突”错误?

为什么我在尝试打开和保存文件时会出现“文件正在被其他用户使用”和“应用程序共享冲突”错误?

最近我们经常遇到这种情况。

  • Windows 2008 服务器
  • Windows 7 和 Vista 客户端电脑
  • 微软 Office 2007

当用户尝试打开我们网络驱动器上的文件(word 文档、excel 电子表格等)时,软件会报告该文件已被“其他用户”锁定,但实际上并没有。当用户尝试将文件保存到网络时,他们还会看到随机的“共享冲突”错误。

当用户尝试在自己的驱动器上保存本地非网络文件并收到“由于共享冲突而无法保存”的提示时,可能会出现同样的问题。

答案1

好的,自从发布这个问题以来,在追踪潜在问题并测试解决方案之后,我得到了答案......

任何实时访问文件的东西(防病毒、同步或索引软件)都可能给 Microsoft Office 文件带来问题。

Microsoft Office 在保存时会创建临时文件(带或不带文件扩展名)。过于热心的实时扫描程序有时会看到这些临时文件,尝试读取其内容,并在此过程中启动文件锁定。当父应用程序尝试将临时文件转换回其预期格式时,这会立即导致问题。

微软知识库:Excel 保存文件的方式说明

当 Excel 保存文件时,Excel 会执行以下步骤:

  1. Excel 会在您在“另存为”对话框中指定的目标文件夹中创建一个随机命名的临时文件(例如,没有文件扩展名的 Cedd4100)。整个工作簿都会写入临时文件。
  2. 如果将更改保存到现有文件,Excel 将删除原始文件。
  3. Excel 重命名临时文件。Excel 将为临时文件指定您在“另存为”对话框中指定的文件名(例如 Book1.xls)。

微软知识库:Word 如何创建临时文件的说明

用于保存已编辑文件的方案的简化视图

创建临时文件
写入临时文件
删除原始文件
将临时文件移动到目标名称

通过将临时文件放在与保存文件相同的目录中,Word 的性能显著提高。如果 Word 将临时文件放在其他目录中,则必须使用 MS-DOS COPY 命令将临时文件从其他目录移动到保存位置。通过将临时文件放在与保存的文档文件相同的目录中,Word 可以使用 MS-DOS MOVE 命令快速将临时文件指定为保存的文档。


大多数 av、索引和同步软件都能正确处理临时文件;有些则不行。有些单独使用时工作正常,但同时查看同一文件夹时效果不佳。您需要确定在您的环境中哪个程序导致了此问题。希望这个答案能为您指明正确的方向。

更新:微软已经发布了一些修补程序来解决此问题。
Office 2007 修补程序
Excel 2007 修补程序
无需向 MS 请求修复程序,而是在以下位置搜索:Hotfix 分享

仅供参考:它们都不能完全解决我们的问题,但它们确实显著降低了“共享违规”的频率。

答案2

我在使用 Windows Vista 时注意到它会随机“锁定”文件。

我用解锁者显示文件被锁定的位置并允许我解锁文件。

答案3

是否有可能其他用户在未先关闭应用程序的情况下以某种方式断开共享连接?例如,笔记本电脑用户只需合上盖子待机即可回家?也许是其他网络连接问题?

我会在共享驱动器中查找锁定文件 - 它们通常以波浪号开头。例如,document.docx 在同一目录中会有一个锁定文件,即 ~$document.docx。这是一个隐藏文件,因此您需要在资源管理器中启用“显示隐藏文件和文件夹”才能看到它。

如果应用程序看到此文件,无论实际授予的权限如何,它都会告诉您该文件已被锁定,因为它没有生成该锁定文件。如果应用程序未正确关闭,或者因进入待机状态或断开网络连接而被强制断开连接,它将无法正确删除该锁定文件。

只是一个想法...

杰斯

答案4

此错误表示当此用户尝试打开文件时,其他用户已锁定该文件。当存在锁定时,此用户的读/写访问控制将不起作用。

可能的原因,

  • 该文件是否存储在具有写访问权限的共享位置?
  • 先前对该文件的访问是否因应用程序崩溃而终止?

MS Office 应用程序通常以写入模式打开文件。如果有人打开了该文件,或者上次打开该文件时应用程序崩溃,则可能会出现此错误。

另一个小观察:您是否注意到,已打开但尚未编辑的 doc/xls 文件的时间戳实际上已被修改为打开时的时间(如果您切换到资源管理器并查看其列表)。如果您关闭文件而不进行任何编辑/保存,则时间戳将恢复为较旧的时间戳。这是因为文件是在写入模式下打开的。

相关内容