绕过Windows文件锁

绕过Windows文件锁

我对一个可编程/可编写脚本的现成第三方产品有疑问,该产品会创建我们需要进行后期处理(移动、压缩或其他)的文件。

该产品让我们在它完成输出创建之后运行命令,所以一切都很完美,对吗?

并非如此,因为应用程序在调用我们的脚本时仍然“打开”文件,所以 Windows 不允许我触碰它们或它们所在的目录。

到目前为止我唯一的想法是startmystuff.bat 并以睡眠方式启动 mystuff.bat,但这会在错误处理等方面带来麻烦,因为服务器程序无法知道后处理作业何时完成。

有人知道如何解决这个问题吗?


  • 文件被写入 Windows 服务器(2008 R2)上的本地磁盘。
  • 要求软件供应商修复他们的程序迄今为止失败了:-(


该软件是 PrintNetT,一种印刷生产系统,它以服务/守护进程的形式运行,处理作业请求,创建目录+文件,并在批量创建期间保持锁定状态。它在服务器上全天候运行(无头)。批量完成后,文件不再锁定。

答案1

这是什么类型的“产品”?显然它是软件,但它是可执行文件吗?它是否有一个独特的进程(也就是说,它是否显示在任务管理器的进程选项卡中)?如果有,那么这将是我猜测的最好的“关闭”它的方法。

但是,如果不是,那么正在运行的文件类型是什么?您是否能够注销或重新启动而不会丢失您需要的任何内容?如果可以,请尝试一下,看看是否可行。如果不行,您需要提供更多信息。

答案2

您可以尝试使用不需要完全读/写/删除访问权限的程序复制文件或将其存档(zip)。我认为大多数适用于 Windows 的 Linux 程序都具有此属性。这样,您可以在应用程序退出之前复制文件,处理数据,然后定期清理剩余文件。

要查看此方法是否有效,您可以尝试使用合适的文本编辑器(如 Visual Studio、Notepad++ 或 Vim)打开任何仍“打开”的文件。

相关内容