我正在使用MS Visual Studio R工具,可以准备和测试R语言脚本。然后我想从C#代码中启动进程(使用
如何找到R解释器的路径?下面的代码是否正确?
在从C#代码调用时,是否可以向R脚本添加命令行参数?
Process.Start(startInfo)
),以执行此脚本,并等待其完成并检查输出。该脚本生成一些统计计算,并将结果保存在硬盘上的.csv
文件中。如何找到R解释器的路径?下面的代码是否正确?
在从C#代码调用时,是否可以向R脚本添加命令行参数?
ProcessStartInfo startInfo = new ProcessStartInfo();
r_interpreter_path="???";
startInfo.FileName = r_interpreter_path;
startInfo.Arguments = "\"" + r_script_name + " \"";
//Add command line arguments
startInfo.Arguments += " -sd " + date_start_str + " -ed " + date_end_str;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardError = true;
using (Process process = Process.Start(startInfo))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Debug.WriteLine(result);
}
process.WaitForExit();
//string errMsg = process.StandardError.ReadToEnd();
//if (errMsg != "")
// return false;
GC.Collect();
}