如何关闭/取消共享其他用户正在使用的文件?

时间:2013-10-02 21:59:24

标签: vb.net visual-studio

我的.NET应用程序更新位于域内共享文件夹中的某个.xls文件。使用VB.NET,我如何检查该文件是否被其他用户使用并取消共享/关闭它,以便我的代码可以正确更新文件? 注意:.Exe文件(我的应用程序)将在共享文件夹所在的服务器中执行。

1 个答案:

答案 0 :(得分:2)

Windows和NTFS旨在防止出现这种情况。除非你:

  • 获取打开.xls文件的Excel应用程序以关闭它
  • 假设客户端PC打开Excel文件,请关闭服务器的网络连接 - 这是一个非常不受欢迎的步骤
  • 发现正在运行Excel.exe实例的PC,并使用Windows Taskkill命令行命令终止所有Excel.exe实例(因为您不一定知道哪个实例打开了)机器 - 另一个不受欢迎的步骤
  • 查看this answer,但这会使用第三方实用程序,并且不会解释 这些实用程序如何执行他们的操作,尽管您可以{{1}他们。

你只是无法让Windows / NTFS释放文件锁。

我不确定使用xls(而不是xls_)的可能替代方法是创建文件shared,尽管这有一些限制。