使用任务计划程序自动化 Rscripts; R脚本未运行

Posted

技术标签:

【中文标题】使用任务计划程序自动化 Rscripts; R脚本未运行【英文标题】:Automating Rscripts using Task Scheduler; R script not running 【发布时间】:2015-10-01 00:45:53 【问题描述】:

我已经查看了自动化 Rscripts 的所有解决方案,并且我能够做一些事情,但我的任务打开了 Rstudio 但从不运行脚本。

如果需要更多详细信息,请告诉我。

【问题讨论】:

您应该使用Rscript.exe 并将其放入barch 文件中。例如,请参阅this。 您需要运行命令行版本 - 您只是在打开文件。根据您的设置尝试 Rscript c:/users/dropbox/Rscripts/CRScore.R 或者您可以尝试创建 CRScore.Rexec 并选择 Rscript 作为 Rexec 文件的默认设置。 @agstudy ,这个例子很有帮助,而且很有效! 【参考方案1】:

我在运行我的 R 脚本时遇到了很多问题。从各种来源收集,这是最终奏效的方法:

    确保 R 安装在没有空格的路径中。我的原始安装使用 C:\Program Files\R\R-3.2.0\bin\ 来访问 Rscript。但这导致了here 指出的错误。安装最新版本的 R 到 C:\R-3.2.1\bin 解决了这个错误。

    确保将 R 脚本文件所需的所有包复制到新安装的库中(例如,C:\R-3.2.1\library)。我的在 C:\Users\user\Documents\R\win-library\3.2 中,从命令行运行时我的 R 脚本找不到它们。

    创建一个批处理文件 (.bat)。您可以使用以下代码:

    C:\R-3.2.1\bin\Rscript file.R
    exit
    

    将此文件保存在与您的文件相同的位置。R

    通过在“程序/脚本”字段中指定 .bat 文件的路径(如上所示),将此 .bat 文件作为操作在任务计划程序中运行。确保还在“开始于(可选)”文本字段中指定 file.R 的位置。

您的 R 脚本现在应该能够通过任务计划程序运行。

【讨论】:

【参考方案2】:

您需要告诉调度程序如何访问 R,然后告诉它要执行什么。

在上面显示的窗口(新操作)中,这是一个应该如何设置的示例:

程序/脚本:“C:\Program Files\R\R-3.6.0\bin\Rscript”

添加参数(可选):-e "source('C:\FileName.R')"

Task Scheduler: Action Window

附带说明,如果要运行 rmarkdown 文件,则需要改用以下语法:

-e "library(rmarkdown);Sys.setenv(RSTUDIO_PANDOC='C:/Program Files/RStudio/bin/pandoc');渲染('C:/FileName.Rmd')"

【讨论】:

以上是关于使用任务计划程序自动化 Rscripts; R脚本未运行的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PHP 调用 R 脚本?

Windows任务计划定时执行脚本简介

Powershell脚本配合计划任务程序实现组策略自动备份

windows 建立任务执行计划 自动执行脚本

使用 Windows 任务调度程序和 xampp 服务器运行带有 curl 的 php 脚本

windows下php脚本怎么运行