如何从R打开文档?

时间:2017-02-03 18:11:05

标签: r shell cmd launch

我想在R中打开一个文件。

我可以使用以下命令启动软件(graphpad prism):

system2("C:/Program Files (x86)/GraphPad/Prism 7/prism.exe")

我希望这会打开我的棱镜文件,好像我双击它或从cmd运行它,但它没有:

system2("H:/Graphs/Shell/Templates/NASH4_Standard.pzfx")

我收到的消息是:

  

警告消息:正在运行命令   ' H:/Graphs/Shell/Templates/NASH4_Standard.pzfx'状态为127

我看到这不是错误,只是警告。我是无意中"炮击"文件在后台?我如何确保它弹出窗口?

状态127已解决here,但是对于启动软件,请勿使用它打开文档。

2 个答案:

答案 0 :(得分:3)

在Windows环境中,您需要调用命令行解释器,如CMD提示符或PowerShell。此外,任何包含空格的文件路径都需要用双引号括起来,用于字符串文字中R所需的引号(您的.exe不是特定文件的情况)。

使用system()将整个命令发送到一个字符串中:

system('cmd /c "H:/Graphs/Shell/Templates/NASH4_Standard.pzfx"')

# POWER SHELL REQUIRES MORE QUOTE ESCAPING (ONLY ONE PAIR W/O SPACES)
system('powershell & """H:/Graphs/Shell/Templates/NASH4_Standard.pzfx"""')

使用system2()使用 args 参数:

# FILES
system2('cmd', args=c('/c', '"H:/Graphs/Shell/Templates/NASH4_Standard.pzfx"'))
system2('powershell', args=c(' & """H:/Graphs/Shell/Templates/NASH4_Standard.pzfx"""'))

# EXECUTABLES
system2('cmd', args=c('/c', '"C:/Program Files (x86)/GraphPad/Prism 7/prism.exe"'))
system2('powershell', args=c(' & """C:/Program Files (x86)/GraphPad/Prism 7/prism.exe"""'))

答案 1 :(得分:1)

shell.exec("C:/Program Files (x86)/GraphPad/Prism 7/prism.exe")

它对你有用吗?

PS。和shell.exec("MyWorkbook.xls")使用默认程序打开文件