欢迎光临散文网 会员登陆 & 注册

python设置定时自动启动程序

2018-08-20 14:07 作者:坚韧的小牛  | 我要投稿

最近公司一帮美术要求我写的一个简单效绩管理工具每天晚上下班前一段时间自动启动,防止他们老是忘记填写,没办法只好试着用bat来设置Windows自己的任务计划程序了

首先工具使用python写的,因为用到了bat所以用了subprocess来执行bat命令

然后使用 schtasks 命令来创建 Windows 任务计划程序,但要使用 schtasks 命令需要先用chcp 437命令来切换到美版的命令行窗口 ,然后使用命令

schtasks /create /tn autoTimeLog /sc daily /st 17:45:00 /tr 你的程序的绝对路径.exe

创建对应的任务计划程序

这个时候Windows的任务计划程序界面应该就存在了你创建的计划任务了,但是这里还有一个问题执行程序的起始于信息是空着的,这有时候会导致错误,这时候执行

schtasks /query /xml /tn autoTimeLog > sch_autoTimeLog.xml

导出对应任务计划程序的xml配置文档,然后修改这个xml文档,在</Command>这一行后边加上一行<WorkingDirectory>你的程序所在位置</WorkingDirectory>,然后保存

在修改的过程中你会发现Windows自动导出的这个xml文件是个utf-16格式的(python默认的是utf-8),这差点没把我搞死,在字符编码这方面完全是个浆糊,用了fileload(data)也不管用,最后我逼不得已直接使用了re.sub()来替换,直接在里边插入了自己想要的信息,而不是用xml解析后再来插入xml节点

改好xml文档之后要用这个xml文档来创建一个新的Windows任务计划程序,命令如下

schtasks /create /tn autoTimeLog /xml sch_autoTimeLog.xml /F

这里的/F是为了强制执行覆盖掉开始创建的任务计划程序,到这里就创建好了


python设置定时自动启动程序的评论 (共 条)

分享到微博请遵守国家法律