node.js - Node : Check if a file is locked without locking the file

标签 node.js windows

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

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

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

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

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

最佳答案

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

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

handle.exe | findstr myfile.docx

您可以使用 child_process.exec 从 Node 调用它

关于node.js - Node : Check if a file is locked without locking the file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53285573/

相关文章:

javascript - 如何从 Electron 获取 N-api

c++ - Windows的“无线网络连接状态”窗口可以通过编程方式打开吗?

windows - 有没有像PeekMessage这样不处理消息的函数?

.net - 制作将使用 Windows Temp 目录的自解压 zip (SFX) Windows 程序安装程序的最简单方法是什么?

ruby - 如何从 Ruby 脚本以编程方式启动 Rails 服务器

node.js - 从路由器发布响应中检索键值?

Node.js - Angular - MongoDB - 对于 `userid` ,获取 `username`

javascript - 如何使参数化 Express 路由在带或不带尾部反斜杠的情况下工作?

javascript - 我如何使用这些 Node 模块通过文件或 URL 接受 HTML,然后输出 JSON 作为现有 HTML 元素的验证?

c# - .NET 无法在同一目录中找到非托管 DLL