我尝试使用上下文菜单将 Windows 资源管理器左栏中的任何目录的名称发送到我在 Raku 中编写的程序。
我已将以下内容写入注册表
[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithFileAttributes.pl6\command]
@="\"C:\\rakudo\\bin\\raku.exe\" \"K:\\Windows\\NtUtil\\FileAttributes.pl6\" \"%V\""
从 key 本身复制它看起来像:
"C:\rakudo\bin\raku.exe" "K:\Windows\NtUtil\FileAttributes.pl6" "%V"
当我右键单击左列中的目录,然后左键单击 FileAttributes.pl6 时,它会在 shell 中启动 Raku,但不执行任何其他操作。它不会启动 FileAttrebes.pl6(或 -v 或 -V 或 -?)。
我如何告诉注册表将参数发送给 Raku?
非常感谢,
-T
附言我已经有右侧 Pane 中的文件夹和文件正在工作
最佳答案
我在 Windows 10 Rakudo 版本 2020.01 上对此进行了测试。
首先我创建了一个测试脚本 C:\Users\hakon\raku\test.raku
:
use v6;
say "Hello world!";
say "Arguments:";
say "'$_'" for @*ARGS;
sleep 5;
然后我打开
regedit.exe
并添加了 key :Computer\HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithRaku\command
我将后面的
command
键的值设置为C:\rakudo\bin\raku.exe C:\Users\hakon\raku\test.raku 1 2 3 "%V"
然后,我打开一个新的文件资源管理器窗口,从左 Pane 中选择一个文件夹,然后右键单击右 Pane 中目录列表下的空白区域,然后从上下文菜单中选择“OpenWithRaku”。
之后,一个终端窗口打开,输出如下:
Hello world!
Arguments:
'1'
'2'
'3'
'C:\Users\hakon\raku'
所以它似乎在我的机器上运行良好。
关于windows - HKEY_CLASSES_ROOT\Directory\Background\shell 的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60967993/