【发布时间】:2009-01-05 22:29:16
【问题描述】:
我有一个文件目录,我想定期扫描并使用它们关联的默认应用程序执行。它们是不可执行的,所以 system("file.torrent");不起作用。您如何在 Perl 中使用相关应用程序运行文件?
【问题讨论】:
我有一个文件目录,我想定期扫描并使用它们关联的默认应用程序执行。它们是不可执行的,所以 system("file.torrent");不起作用。您如何在 Perl 中使用相关应用程序运行文件?
【问题讨论】:
【讨论】:
开始
您可以手动解析注册表的相关部分,找到相关的应用程序,然后自己启动它:但是命令提示符的内置启动命令生活更轻松。
因此,对于您的示例,您只需执行一个 system("cmd /c start file.torrent")
【讨论】:
不是 Perl 特定的,但您始终可以使用“开始”命令。第一个参数是打开的新命令提示符的标题,第二个参数是要打开的文件。
system('start "dummy title" "some file.doc"'); # opens the document in word
【讨论】:
我们使用的另一个选项是
system("RunDLL32.exe SHELL32.DLL,ShellExec_RunDLL file.torrent")
【讨论】:
永远不要在 Windows 上使用 system() ! 蹩脚的坏方法(PAS)
【讨论】:
只是为了突出上面 BeowulfOF 的评论
system( "test.log" )
将在其关联的应用程序中打开 test.log,就像进入一样
test.log
在命令行上
【讨论】: