node.js - 从目录上的 Windows 上下文菜单运行 Node 脚本

标签 node.js windows registry

Windows (7/10) 中有某些文件操作我想自动化(即将给定目录中某种文件类型的所有文件向上移动一个目录,然后删除该目录和其余文件里面)。

我知道如何在 Node 中编写程序来执行此操作,而不是进入每个目录并右键单击 -> Git Bash Here -> 运行我的脚本,我希望能够直接右键单击目录,并在目录的上下文菜单中有一个选项可以直接运行我的 Node 脚本。

是否有某种方法可以通过 Windows 注册表执行此操作,而无需编写成熟的、已安装的 native 应用程序?

我只是在寻找一种简单、轻量级、hacky(?)的方式来从 Windows 目录上下文菜单运行一个小型 Node 脚本(该脚本对该目录中的文件执行简单操作)。

最佳答案

想通了。

打开注册表编辑器(开始 > regedit):

  1. 导航到 HKEY_CLASS_ROOT\Directory\shell
  2. 右键单击 shell> New > Key(随便命名)
  3. 点击新键,然后双击(默认),输入您希望在上下文菜单中显示的字符串
  4. 右键单击您在第 2 步中创建的键 > New > Key > must call it command
  5. 点击命令,然后双击(默认),输入:

    "C:\Program Files\nodejs\node.exe""X:\PATH\TO\script.js""%V"

  6. 运行脚本时,process.argv[2] 将是一个字符串,其中包含您调用脚本的目录(即 %V 的值)。

关于node.js - 从目录上的 Windows 上下文菜单运行 Node 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46507895/

相关文章:

c# - SetValue 64 位机器注册表

javascript - 从nodejs上传本地文件到Laravel服务器时获取null

c# - 由非托管 (C++) COM 服务器实例化的托管 (C#) 控件在 Windows 更新后损坏

javascript - 当 Docker 使用端口时,Node.js 不会抛出 EADDRINUSE

c# - Pcap .NET 库 : PcapDotNet. Core.DLL 未找到

c# - 监控 Windows 共享

c# - WiX 3.8 : Two MSI using the same registry values. 如何仅在卸载两个 MSI 的情况下删除注册表值?

C++ RegSetValueEx 出现问题

javascript - 如何使用 pg-promise 传递表名和参数

node.js - 使用 mongoose 将数据保存到 MongoDB atlas 时出错