如何通过 windows Task Scheduler 通过多个目录 运行 R 脚本

How to run R script through multiple directories via windows Task Scheduler

我正在尝试通过 Windows 任务计划程序在 R 中自动执行一些报告。问题是我不断收到 0x1 错误代码,我相信这是因为自动化脚本使用 R 中的 source() 函数来调用不在同一目录中的其他脚本。

我试过创建一个 .bat 文件,但它遇到了同样的问题。我的用户也有安全权限。

@echo off 
"C:\Program Files\R\R-3.5.2\bin\Rscript.exe" "C:\Users\me\data\report\file.R"
pause

我也试过:

@echo off 
"C:\Program Files\R\R-3.5.2\bin\Rscript.exe" -e"source('C:/Users/me/data/report/file.R')"

有人知道如何自动执行一个会遍历多个目录的脚本吗?或者我真的必须克隆这些脚本中的每一个并将它们全部放在同一个文件夹中才能实现自动化吗?

您不必将它们全部放在同一个目录中。

我创建了一个调用另一个目录中的另一个脚本的脚本,并使用 taskscheduleR 创建了一个任务。

它对我有用,所以我认为问题与 source() 无关。

不过,您的问题很难重现。但这可能与管理员角色有关。如果你有的话,我建议你和你的 IT 部门谈谈。

source("C:/Users/ADMFIWA/Documents/task-test-other/other-summary.R")

library(taskscheduleR)
taskscheduler_create(taskname = "test",
                     rscript = "C:/Users/ADMFIWA/Documents/task-test/summary.R", 
                     schedule = "ONCE", starttime = format(Sys.time() + 62, "%H:%M"))
#> [1] "SUCCESS: The scheduled task \"test\" has successfully been created."

reprex package (v0.2.0) 创建于 2019-03-12。