batch-file - 如何添加右键单击选项以使用所选文件的名称搜索网络?

标签 batch-file command-line cmd registry regedit

我希望在 Windows 资源管理器中的右键单击菜单中添加一个选项,该选项将启动 Chrome 并在特定站点中搜索该文件的名称。更具体地说,我希望能够对视频文件执行此操作,然后为其查找可用的字幕。我知道有很多程序可以做一些这样的变化,但是在尝试了很多之后,我还没有完全找到我想要的。不仅如此,我宁愿使用一些轻量级的 native 代码,而不必安装另一个程序。

我找到的最接近指南的是 in this post ,但它并不完全有效。当然,我已经根据我的需要尝试清理它,但它仍然不起作用,所以我认为那里存在缺陷。这是我到目前为止...

以管理员身份运行命令提示符,我执行这两行将它们添加到注册表中:

REG ADD "HKLM\software\Classes\*\shell\Subtitle Search" /d "Subtitle Search"
REG ADD "HKLM\software\Classes\*\shell\Subtitle Search\Command" /d "C:\My Projects\My Code\SubtitleSearch.bat ""%1"""

我创建了一个批处理文件 (SubtitleSearch.bat),内容如下:
set xGOOGLESEARCH=%~nx1
cmd /c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://subscene.com/subtitles/title?q=%xGOOGLESEARCH%"

这看起来很简单,但它不起作用。相反,Windows 认为我正在尝试打开该文件并询问我要使用什么程序。顺便说一句,如果我选择 Chrome,它实际上会开始在选项卡中播放视频。

我确信问题出在注册表代码上,但我不知道如何告诉系统我不想打开我右键单击的文件;我只想使用它的文件名。我熟悉注册表,但不够熟练,看不出问题所在。

在此先感谢您的帮助!

最佳答案

批处理文件路径包含空格,因此您必须用引号将其括起来:

REG ADD "HKLM\software\Classes\*\shell\Subtitle Search\Command" /d "\"C:\My Projects\My Code\SubtitleSearch.bat\" \"%1\""

关于batch-file - 如何添加右键单击选项以使用所选文件的名称搜索网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31596590/

相关文章:

batch-file - 当文件夹名称包含空格时映射驱动器的批处理文件

batch-file - TYPE 命令问题 - 批处理文件

ruby - 为什么 -n 开关不打印每一行?

Python命令行加载栏

windows - 为什么我的 stderr 重定向在命令完成后没有结束?我该如何解决?

java - 如何运行 .bat 文件以在运行 .jar 的第二个 .bat 文件中执行命令?

windows - 使用 BAT/PS 脚本自动安装

windows - 批处理文件 : get absolute path of parent directory

batch-file - 如何从执行的批处理文件中获取值

windows - 如何在 Perl 中编写 *filename* 包含 utf8 字符的文件?