如何在Windows上使用Perl的默认应用程序打开文件?

时间:2009-01-05 22:29:16

标签: windows perl system

我有一个文件目录,我想定期扫描并使用与之关联的默认应用程序执行。它们不是可执行的系统(“file.torrent”);不起作用。你如何在Perl中运行与相关应用程序相关的文件?

6 个答案:

答案 0 :(得分:7)

标准的Windows方式是ShellExecute

在perl中你可以使用ShellExecute。它位于Win32::GUI package

没试过。但它看起来很简单。

答案 1 :(得分:6)

启动

您可以手动解析注册表的相关部分,找到关联的应用程序,然后自行启动它:但命令提示符的内置启动命令生活更轻松。

因此,对于您的示例,您只需执行一个系统(“cmd / c start file.torrent”)

答案 2 :(得分:3)

不是Perl特定的,但您始终可以使用'start'命令。第一个参数是打开的新命令提示符的标题,第二个参数是要打开的文件。

system('start "dummy title" "some file.doc"'); # opens the document in word

答案 3 :(得分:1)

我们使用的另一个选择是

system("RunDLL32.exe SHELL32.DLL,ShellExec_RunDLL file.torrent")

答案 4 :(得分:0)

永远不要在Windows上使用system()! 糟糕和糟糕的方法(PAS)

答案 5 :(得分:0)

只是为了突出BeowulfOF上面的评论

system( "test.log" )

将在其关联的应用程序中打开test.log,就像输入

一样
test.log

在命令行上