R称mGENOVA为外部程序

时间:2016-08-14 20:26:49

标签: r call system external

最近我一直在尝试使用R来调用名为mGenov它的命令行程序的.exe程序。我有一些截图可以帮我解释一下(我使用的是Windows 10)。

据说,它的工作原理如下:

  1. 双击mGenova,
  2. 输入card.txt
  3. 点击"输入" cmd窗口将关闭
  4. 我已经尝试了很多;基本上他们可以调用程序,但是在命令

    中传递关于键入card.txt的命令
    shell(cmd="D:\\mgenova\\mGENOVA\\card.txt", shell="D:\\mgenova\\mGENOVA\\mGENOVA.exe",intern=F)
    

    OR

    system("\"D:\\mgenova\\mGENOVA\\mGENOVA.exe\" \"D:\\mgenova\\mGENOVA\\card.txt\""
    ,show.output.on.console=TRUE,invisible=T,intern=T) 
    

    我总是得到这个

    [1] "Input the filename containing the control cards." ""                                                 ""                                                 "*** Control cards file is empty"                 
    attr(,"status")
    [1] 1
    Warning message:
    running command '"D:\mgenova\mGENOVA\mGENOVA.exe" "D:\mgenova\mGENOVA\card.txt"' had status 1 
    

    我怎样才能让它在它上面运行?谢谢你帮忙!!!!!

1 个答案:

答案 0 :(得分:0)

您可以在Windows上创建一个批处理文件(让它命名为batch.bat),内容为

cd /D D:\mgenova\mGENOVA\
mGENOVA.exe < card.txt

GENOVA的所有必要输入必须由文件card.txt。

提供

然后在R中运行命令

system("batch.bat")