使用非标准参数语法格式化注册表值以用于上下文菜单命令

使用非标准参数语法格式化注册表值以用于上下文菜单命令

我正在尝试向 Windows 文件夹背景上下文菜单添加一个条目。以下“命令”值有效:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe"

它成功执行了 MakeManifest(我正在为我的真实编程项目开发的一个微型开发工具)。

不过,我想这样做:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" -root="%1"

但那不管用。下面这个也不管用:

"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" "-root=%1"

我的目标是让 MakeManifest.exe 程序执行并接收命令行参数格式为:

-root="the/directory/right-clicked/in/"

我希望将目录路径周围的引号传递到 MakeManifest 中并保留,并且我希望整个内容(-root="在/目录/中右键单击/") 作为一个参数。

否则,我会满足于-根作为一个参数传递,并且/目录/路径(不带引号,但作为一个参数)作为第二个参数传入。我无法让任何一个工作。

我的所有尝试都导致此错误消息: 在此处输入图片描述

此文件没有与之关联的程序来执行此操作。请安装程序,或者,如果已安装,请在默认程序控制面板中创建关联。

...就好像它试图识别哪个程序来将整个命令作为文件路径执行。

再次,设置不带任何参数的命令也可以正常工作。

我该怎么做?

答案1

使用%V而不是%1

有关 shell 命令变量(如 %V 和 %1)的更多信息,请参阅这个问题

相关内容