windows定时自动运行R脚本的正确姿势

浏览: 1919

作者:Frank  山东大学环境研究院博士   R语言中文社区专栏作者

知乎ID:

https://www.zhihu.com/people/chen-xiao-tian-92-92  

前言

因为数据处理需要,写了汇总仪器每日原始数据的R语言代码。仪器每日凌晨自动生成一份前一日的原始数据,因此需要代码每日定时自动运行一次进行汇总更新。

通过R脚本+windows计划任务可以实现R代码定时自动运行。

本文目录

  1. windows环境变量中加入R语言路径

  2. 写R脚本和bat脚本

  3. 设置windows计划任务

注意:如果你不想在环境变量中加入R的路径,觉得麻烦,或者你的环境变量添加成功,但是bat脚本却一直出错(部分win7系统会出现这一情况),请参考文末的补充内容。

1、windows环境变量中加入R语言路径

准备:“此电脑”>“属性”>确定系统类型是64位还是32位


寻找R语言安装路径


如果你是按照默认路径安装的话,应该在C:\Program Files\R\R-3.4.4\bin文件夹下。

如果你装的是64位的R,该路径下会有一个“x64”文件夹。下文路径需具体到该文件夹。

如果你装的是32位的R,该路径下会有一个“i386”文件夹。下文路径需具体到该文件夹。

“此电脑”>“属性”>“高级系统设置”>"高级”>“环境变量”>“path">"编辑”

在变量值一栏后方中加入刚刚寻找到的R语言路径。(以下为R-3.4.4版本默认安装路径)

32位是:C:\Program Files\R\R-3.4.4\bin\i386;

62位是:C:\Program Files\R\R-3.4.4\bin\x64;

点击确定。

2、写R脚本和bat脚本

新建txt文本文档,将所需R代码粘贴进去,选择“另存为”,保存类型选择“所有文件”,文件名需写后缀“.R"(例如“test.R”),以ANSI编码格式保存。这样R脚本就写好了。

新建txt文本文档,把启动R脚本的bat语句复制粘贴进去(此处R脚本名称以“test.R”为例):

1Rscript test.R
2exit

选择“另存为”,保存类型选择“所有文件”,文件名需写后缀“.bat"(例如“test.bat”)。这样R脚本就写好了。

将R脚本和bat脚本放在同一个文件夹下。

点击一次bat脚本观察所写R代码运行的结果是否有生成。(例如代码是用于更新某个文件,则观察该文件的修改日期是否变化到最新的时间)。

如果结果是代码正常执行,则进入下一步。

3、设置windows任务

“此电脑”>“管理”>“系统工具”>“任务计划程序”

“任务计划程序”右键,选择“创建任务”。

填写任务名称。

选择“不管用户是否登陆都要运行”。

选择“不存储密码”。

依据实际情况选择是否要“使用最高权限运行”。

切换至“触发器”选项卡,点击“新建”,弹出“编辑触发器”窗口。设定运行频率。

选择开始任务“制定计划时”。

设置频率“每天”(依据实际需求)。

设置开始时间,以及间隔。例如:“2018-03-19 03:00:00”、“每隔一天发生一次”。

可依据实际情况填写该页面的选项。

点击“确定”,返回任务属性界面继续设置。

切换至“操作”选项卡,点击“新建”,进入“编辑操作”窗口。

操作选择“启动程序”。

“程序或者脚本”一栏点击“浏览”找到之前准备的bat文件。

“起始于”一栏填写R脚本和bat脚本存放的路径。例如存放于D盘根目录,则写”D:\“。

点击”确定“返回任务属性界面。

点击任务属性界面的“确定”,完成全部设置。

接下来就尽情享受自动定时运行R脚本带来的便利吧。

补充内容

如果你不想在环境变量中加入R的路径,觉得麻烦,或者你的环境变量添加成功,但是bat脚本却一直出错(部分win7系统会出现这一情况),请将bat脚本改为如下内容:

1C#R的安装盘
2cd C:\Program Files\R\R-3.4.3\bin\x64#Rscript的路径,此处以默认安装路径为例
3Rscript F:\test.R#R脚本的路径,此处以放置在F盘的test.R为例
4exit

往期精彩:


公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战
回复 Python       1小时破冰入门
回复 数据挖掘     R语言入门及数据挖掘
回复 人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习     机器学习的商业应用
回复 数据科学     数据科学实战
回复 常用算法     常用数据挖掘算法

推荐 0
本文由 R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册