从 Windows 上下文菜单中的目录运行节点脚本

dav*_*lav 3 windows registry node.js

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

我知道如何在 Node 中编写程序来执行此操作,但与其进入每个目录并右键单击 -> Git Bash Here -> 运行我的脚本,我希望能够只需右键单击该目录并拥有目录上下文菜单中的一个选项,用于直接运行我的 Node 脚本。

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

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

dav*_*lav 6

弄清楚了。

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

  1. 导航到 HKEY_CLASS_ROOT\Directory\shell
  2. 右键单击shell > New > Key(随便叫它)
  3. 单击新键,然后双击(Default),输入您希望出现在上下文菜单中的字符串
  4. 右键单击您在第 2 步中创建的密钥 > 新建 > 密钥 >必须调用它命令
  5. 单击command,然后双击(Default),输入:

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

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