在Windows 10 系统中都有一个自带的应用程序叫做“任务计划程序” (Task Scheduler)。通过这个程序就可以实现每日定时运行特定程序的功能。
1、打开任务计划程序。
敲击键盘的windows键,然后输入“任务计划程序”。可以看到出现了下面第二张截图的样子。
这个时候我们再敲击回车键就可以打开这个程序。
2、创建bat脚本
由于任务计划程序是没有办法直接运行python脚本。所以还需要准备一个bat脚本来运行python脚本。
首先在桌面空白位置右键新建一个文本文档。完成之后会发现文件夹中多出来一个“新建文本文档.txt”。
将文本文件命名为“获取股票当前时刻数据.bat”。“.bat”之前的文字都可以根据要实现的功能来命名。
然后用记事本打开“获取股票当前时刻数据.bat”文件,并在里面输入下面这行代码:
python "C:\path\to\your\python\script.py"
比如:
这行代码的格式是python(空格),后面加上要运行的python脚本的地址。即"python 文件地址\文件名"。
@echo off
python "C:\Users\Administrator\Desktop\test.py"
在截图的这个示例中文件地址为"C:\Users\Administrator\Desktop"。文件名为"test.py"。要注意里面的分隔符号都是“\” 而不是 “/”。
调试脚本的时候,最好在上面代码最后加上pause停顿,可以看到运行结果。因为有时候会运行失败,但是不知道具体是什么原因,所以加上这个停顿,就看到是不是脚本报错
@echo off
python "C:\Users\Administrator\Desktop\test.py"
pause
3、部署bat文件
准备好了bat文件就可以开始设置第一步中打开的任务计划程序,来部署bat文件。
1.创建一个新的文件夹来存放自己的自动化任务,方便管理
2.鼠标右键选择“创建基本任务”
然后输入每日自动运行任务的名称。如果该任务比较复杂,也可以在描述中输入该任务的具体介绍。完成之后点击下一步。
根据自己的需求选择时间
3、启动程序
选择要运行的bat文件,最重要的一点是起始于这个选项要填上bat文件所在的目录,否则涉及到文件读写的时候,可能会失败
通常是因为引发了FileNotFoundError异常导致程序结束,文件没找到或者路径有误。
为什么文件会不存在?
因为在任务计划程序运行程序是在电脑的用户目录下,比如C:User\buliqiao,而代码里面的文件路径使用的是相对路径的话,这样就会出现找不到文件的情况了。
4、完成
4、测试
发现任务计划程序中有了我们设置的“每日10:30更新股票数据”的自动运行任务。如果想要测试一下有没有正确设置,可以点击右边的运行按钮来试运行一下。
5、一些其他问题的原因
-
windows计划任务执行,但是程序未执行
运行结果显示操作成功完成0x0,或者一直是正在运行程序0x41301状态
但此时(假设是执行脚本的计划)脚本未执行,或者没有执行结果
那么可以认为是该脚本并没有跑
排查点:
1)本地安全策略→本地策略→用户权限分配→作为批处理作业登录中有没有你要执行的脚本或者其他程序的用户,如果没有请添加
2)计划任务→属性→安全选项中的运行任务是,请使用下列用户账户,这个账户是不是有权限执行。保存的时候需要输入开机密码才行,如果电脑没有设置开机密码,需要设置开机密码后才能进行保存动作。
注:administrator和Administrators和Administrator有区别
2、路径问题
有的电脑系统需要进入脚本的文件夹,再运行py文件才行,所以bat的脚本应该修改为
@echo off
cd "C:\Users\Administrator\Desktop\test.py"
python "test.py"
pause