在输入参数改变的情况下运行.exe
我想在改变输入参数的同时自动运行exe程序(模拟程序),并在每次更改参数后存储结果。在输入参数改变的情况下运行.exe
程序有一个Exe_Input.txt
文件,其中存储了基本输入数据。我用一列和200行(数字)创建了另一个parameter.txt
文件。所以现在我想让R取第一行数,写在Exe_Input.txt
的某一行,开始program.exe
(也许用system()
-am我对吗?)并创建一个结果表。然后从parameter.txt
的第二行开始循环,从.exe
结果表和下一个循环开始...直到parameter.txt
的结尾。
好像你的任务归结为两点:
- 读取一些数据中的R
- 在
system
命令
第一个主题是在长度在SO讨论使用该数据和on the net,所以有一点再覆盖一次。一般来说,在大多数情况下,无论您想使用什么,您都需要加载到R环境中,第一行/单元格等。并将这些值与您的system
语法一起传递。
启动您的应用
如果我明白你的要求正确你是在传递一些字符串到system
命令,对this discussion线条简单地感兴趣。所以,你的代码可能是这样的:
system("C:\\me\\my_app.EXE")
传递参数很简单,你可以利用paste
功能:
paste("C:\\me\\my_app.EXE", "/switch_on", sep = " ")
当然,第二元件可以被动态创建:
if (this == that) {
mySwitch <- "/yes"
}
然后,您只需在paste
语法中使用mySwitch
:
paste("C:\\me\\my_app.EXE", mySwitch, sep = " ")
作为一个方面,如果您希望为您的文件构建动态路径,也可以考虑使用file.path
。
替代做法
如果通过system
通过单线是不够的,你可以考虑写your lines to a text file和运行更复杂的批处理文件。这将是相当奇特的解决方案,但如果你坚持与外部应用程序进行深度整合,这可能是有道理的。然后,您可以自动向批处理文件写入多个行,每行包含处理另一块数据的命令或发送不同的命令等。或者,您可以在this solution的行上运行外部程序,循环跳转数据,这可能会对你的情况更有意义。
非常感谢您对Konrad的快速响应。我会在明天看看它并尝试一下。不过,也许我会延迟一点,直到完成。 – UnSF
你到目前为止尝试过什么?你可以发布一些代码吗? 另外,你面临的问题是什么?这是很不清楚你问的。 – Demitrian