【发布时间】:2013-04-21 05:47:21
【问题描述】:
我正在尝试使用调用从 R 中调用名为 AMDIS 的 Windows 程序
system("C:/NIST08/AMDIS32/AMDIS_32.exe /S C:/Users/Ento/Documents/GCMS/test_cataglyphis_iberica/queens/CI23_Q_120828_01.CDF")
为了对名为CI23_Q_120828_01.CDF 的文件进行分析(使用/S 开关指定),但似乎无论我尝试什么文件都没有正确加载,大概是因为选项不是过去了。有谁知道我可能做错了什么?
现在这个命令要么
- 什么都不做,
- 弹出AMDIS,但不加载我指定的文件
-
给我错误
警告信息:
运行命令'C:/NIST08/AMDIS32/AMDIS_32.exe /S C:/Users/Ento/Documents/GCMS/test_cataglyphis_iberica/queens/CI23_Q_120828_01.CDF' 状态为 65535
(我不知道是什么导致了同一命令的这些不同结果)
(在第 8 页 here 描述了 AMDIS 命令行选项)
干杯,
汤姆
编辑:
发现它与正斜杠和反斜杠有关 - 运行
system("C:\\NIST08\\AMDIS32\\AMDIS_32.EXE C:\\Users\\Ento\\Documents\\GCMS\\test_cataglyphis_iberica\\queens\\CI23_Q_120828_01.CDF /S /E")
似乎有效 - 谢谢大家的建议!
【问题讨论】:
-
你说
/S,但你的电话中有/s。如果您打开终端并按原样键入命令,它会起作用吗? -
改成了/S,可惜还是不行
-
但主要问题是如何正确传递命令行选项?
-
不过,直接在终端中测试该命令很重要,这样您就可以排除大量其他可能出错的事情;即,也许您已经正确传递了命令行选项,但由于其他原因而失败:错误的选项、错误的输入、错误的安装等。
-
嗯仍然没有运气,似乎在 Windows C:\NIST08\AMDIS32\AMDIS32$.EXE C:\Users\Ento\Documents\GCMS\test_cataglyphis_iberica\queens\CI23_Q_120828_01 的命令提示符下。 CDF /S /E 工作正常,但我似乎无法在 R 中完成这项工作......我认为它必须与正斜杠和反斜杠有关。有什么想法吗?
标签: r call external executable