通过R和childprocess在错误的目录中创build文件

我想在我的节点服务器上执行一些R脚本。 我使用subprocess,它似乎工作。 我的问题是:

我如何影响结果文件的保存位置? 现在,无论我做什么,结果都保存在我的server.js所在的位置。

但我想select自己在哪里存储结果。 (在我的情况下,我希望结果是脚本执行的地方)

我怎样才能做到这一点?

这里是我的代码:

这是我在我的server.js中使用的:

app.post('/execScript', function (req, res) { var childProcess = require('child_process'); console.log("IM IN SERVER"); childProcess.exec('Rscript ../app/test.R', function (err, stdout, stderr) { if (err) { console.error(err); return; } }) }); 

这是来自我的js文件的ajax调用:

 $.ajax({ type: 'POST', data: {project: ""+currentProject+"", script: ""+script+""}, url: url, success: function (content, textStatus) {} }); 

还有什么方法可以决定结果应该保存在哪里?

任何帮助将是伟大的!

您可以将options对象传递给exec来指定当前的工作目录

 childProcess.exec('Rscript ../app/test.R', {cwd: '/your/path/'}, (err) => { if (err) { console.error(err); } })