使用 windows 调度程序将参数传递给 r 脚本

Passing parameters to an r script using windows scheduler

我编写了一个 r 脚本,计划每天在特定时间 运行 - 我在 windows 任务计划程序中运行一切正常,使用:

Program/Script: "C:\Program Files\R\R-3.3.3\bin\i386\Rscript.exe"
Add arguments: "C:\Users\NetworkAdmin\Documents\repo\prod\generateReports.R"

但是,我想将相同的脚本概括为 运行 数据集不同子集上的多个相似任务 - 所以我向 generateReports.R 添加了参数。同样,从 Powershell 测试它一切正常,但是当我尝试将输入添加到 "Add arguments" 框中时,脚本将不再 运行.

以下是我尝试过的一些迭代:

Add arguments: "C:\[...]\generateReports.R" "input1" "input2"
Add arguments: "C:\[...]\generateReports.R input1 input2"
Add arguments: "'C:\[...]\generateReports.R' 'input1' 'input2'"

每次我得到相同的结果 - 工作的历史表明它已经 运行 成功但显然没有(我已经尝试 运行ning 一个简单的版本将输入输出到 txt 文件以确保问题不在脚本本身)。

有人知道这里的正确语法吗?

谢谢,

经过多次迭代后,我找到了解决方法:

通过使用:

Program/Script: "C:\Program Files\R\R-3.3.3\bin\i386\Rscript.exe"
Add arguments: "C:\[...]\generateReports.R" -args input1 input2

我可以添加传递给脚本的参数,不幸的是传递的第一个参数是“-args”。所以我刚刚增加了所有参数,以便首先捕获 -args,然后是两个输入:

junk   <- args[1]
input1 <- args[2]
input2 <- args[3]