如何通过使用 windows 上下文菜单启动 perl 脚本来将文件设置为变量

How to get a file into variable, by starting perl script with windows context menu

我最近创建了一个 Word 到 SharePoint 页面转换器。 converter.pl 变成了 .exe 这样我们公司的每个人都可以在没有安装 perl 的情况下使用它。 它目前有一个 GUI,您可以在其中通过文件资源管理器添加 .doc.docx 文件。

我重写了代码并为以 converter.pl 开头的 .doc 和 .docx 文件添加了上下文菜单条目。

现在我的问题是,我不想通过 GUI 添加多个文档,而是想通过一次单击(在上下文菜单中)来启动 converter.pl,并将当前选定的 file.docx 作为输入文件。

my $input = "the file+its path I selected via Windows context menu";

我该怎么做?

试试这个 .reg 文件(根据需要调整路径)

REGEDIT4

[HKEY_CLASSES_ROOT\SystemFileAssociations\.docx\shell\CONVERT\command]
@="c:\Perl\bin\perl.exe c:\Perl\converter.pl \"%1\""

当您的 perl 脚本启动时,您将在 $ARGV[0] 变量中获得 .docx 文件名。