【问题标题】:Schedule R scripts without using Task Scheduler在不使用任务计划程序的情况下计划 R 脚本
【发布时间】:2017-11-06 17:53:00
【问题描述】:

我在我的 Windows 7 机器上安装了 RStudio,但是我无法访问 Windows 任务计划程序来自动化一些 R 脚本。在这种情况下有其他选择吗?我探索了taskscheduleR,但发现这只是任务计划程序的包装。对使用 VB 脚本的想法持开放态度 - 基本上任何 hack 都可以。

【问题讨论】:

    标签: r excel vba vbscript taskscheduler


    【解决方案1】:

    我建议您使用 VBA,您需要学习如何使用 Application.OnTime

    您需要其他可以根据需要触发和停止该潜艇的潜艇;第一个可以开始计划。

    Public stop_running As Boolean
    Public sTime As String
    
    Sub Start(input As String)
    
        stop_running = True 'This controls schedule in Application.Ontime
        sTime = input
        Application.OnTime TimeValue(sTime), "Rscript", Schedule:=stop_running
    
    End Sub
    

    只要你想停止运行这个宏,你就运行这个;

    Sub Finish()
    
        stop_running = False 'Set the schedule to false to stop the macro
        Application.OnTime TimeValue(sTime), "Rscript", Schedule:=stop_running
    
    End Sub
    

    那么这是运行你的 r-script 的子:

    Sub Rscript()
    'runs R script through cmd
    
        If Not stop_running Exit Sub
    
    Dim shell As Object
    Set shell = VBA.CreateObject("WScript.Shell")
    Dim waitTillComplete As Boolean: waitTillComplete = True
    Dim style As Integer: style = 1
    Dim errorCode As Integer
    Dim path As String
    
    path = "RScript C:\R\myscript.R"
    errorCode = shell.Run(path, style, waitTillComplete)
    
    End Sub
    

    您可以像这样从即时窗口调用宏 Start

    Call Start(TimeValue("14:00:00 pm"))
    

    您的宏将在下午 2 点运行。每天。

    【讨论】:

    • 如何让它在每天下午 2 点运行而无需干预?
    • @ScottHorvath 更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 2023-02-07
    • 2014-01-27
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多