Windows 上的网络文件对于不同的用户是不同的

Windows 上的网络文件对于不同的用户是不同的

我用新版本替换了网络上的可执行文件。由于其他人打开了该可执行文件,因此我无法覆盖或删除该文件。我将旧文件移到了另一个位置,这样我就可以将新可执行文件放在旧文件的旧位置。

几周后,我发现其他用户仍在运行旧的可执行文件,而我自己正在运行新的可执行文件。我和其他用户都会看到新文件的修改日期。Windows 是否以某种方式缓冲了文件?这是为了防止网络负载吗?我该怎么做才能强制用户使用最新文件?

答案1

唯一的缓冲区是客户端计算机的 RAM:如果前一个实例从未关闭,则它可能仍在运行。

但是,如果他们使用快捷方式,您应该知道 Windows 资源管理器可以找到原始(旧)文件并相应地更新快捷方式:

https://devblogs.microsoft.com/oldnewthing/20121008-00/?p=6383

我该怎么做才能强制用户使用最新的文件?

您应该删除旧文件。

但是,如果您定期更新此文件,则应考虑使用“启动器”,例如:仅用于启动主可执行文件的简单 powershell 或批处理文件。然后,指示您的用户使用此启动器启动程序。

这将允许您编辑启动器文件以在需要时引用正确的版本,如下所示:

\\share\soft
        │ launcher.bat -> start ...\1.5\tool.exe
        ├───v1.0
        │       tool.exe
        ├───v1.1
        │       tool.exe
        └───v1.5
                tool.exe

答案2

如果您错误地在文件夹中启用了离线文件同步,则可能会导致此类问题,因为在共享文件夹上启用此功能不是一个好习惯。

确保同步中心没有同步该文件夹。如果发生sunc错误,计算机将使用本地缓存文件。

相关内容