【问题标题】:NodeJs: Check if a file is locked without locking the fileNodeJs:检查文件是否被锁定而不锁定文件
【发布时间】:2018-11-13 16:35:36
【问题描述】:

我正在尝试检查文件是否已被另一个应用程序锁定。

我认为通过以写入模式打开文件可以轻松做到这一点。

fs.open('myfile.docx', 'r+', (err) => {
  if (!err) {
    console.log('File unlocked')
  }
})

但是,我不想锁定文件,因为其他应用程序可以随时写入数据。

那么,有什么方法可以检查文件是否被锁定而不锁定(并且没有使用 node.js 或 windows cmd 的管理权限)?

【问题讨论】:

标签: node.js windows


【解决方案1】:

您可以使用 Sysinternals 的 Handle 实用程序。

它通过循环遍历所有 Windows 进程并列出它们打开的文件句柄来工作。您可能想要过滤输出:

handle.exe | findstr myfile.docx

您可以使用child_process.exec从节点调用它

【讨论】:

  • 感谢您提供此解决方案,但处理接缝需要管理权限,而我的应用只有用户权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2016-04-25
  • 2014-01-13
相关资源
最近更新 更多