【问题标题】:Passing parameters to an r script using windows scheduler使用 Windows 调度程序将参数传递给 r 脚本
【发布时间】:2017-05-02 00:55:20
【问题描述】:

我已经编写了一个 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: "C:\[...]\generateReports.R" "input1" "input2"
Add arguments: "C:\[...]\generateReports.R input1 input2"
Add arguments: "'C:\[...]\generateReports.R' 'input1' 'input2'"

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

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

谢谢,

【问题讨论】:

    标签: r scheduled-tasks rscript taskscheduler


    【解决方案1】:

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

    通过使用:

    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]
    

    【讨论】:

    • 我认为不需要 -args。 Add arguments: "C:\[...]\generateReports.R" input1 input2 应该可以工作,
    猜你喜欢
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2012-04-13
    • 2011-08-31
    • 2013-08-27
    • 1970-01-01
    • 2016-04-11
    • 2020-02-07
    相关资源
    最近更新 更多