Windows系统配置python脚本开机启动的3种方法分享


Posted in Python onMarch 10, 2015

测试环境:windows Server 2003 R2

一、开始菜单启动项实现

用户必须登录才可执行。

测试脚本(python代码):

import time

fout = open('e:\\1.txt','w')

while True:

    tmp = '%d-%02d-%02d %02d:%02d:%02d \r\n' % time.localtime()[0:6]

    print tmp

    fout.write(tmp)

    fout.flush()

    time.sleep(5)

1、常规操作

1.1 创建快捷方式;

Windows系统配置python脚本开机启动的3种方法分享

1.2 将创建的快捷方式放入开始菜单启动项;

Windows系统配置python脚本开机启动的3种方法分享

1.3、开机验证;

Windows系统配置python脚本开机启动的3种方法分享

2、隐藏命令行窗口启动

上述操作方法有命令行窗口,有些场合感觉不太实用,我们可以通过以下两种方式去掉命令行窗口。

2.1 将python脚本的文件扩展名改为".pyw"

Windows系统配置python脚本开机启动的3种方法分享

其它操作和上述过程类似,这里不再赘述。

2.2 通过vbs之类的脚本启动

vbs代码如下:

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c E:\test1.py",vbhide
路径根据具体情况进行配置,其它的和之前的操作类似,这里不再赘述。

如果不想用快捷方式的话,把脚本直接放入启动项也可以。

附:

配置账户自动登录

通过开始菜单启动项来实现的话,必须进行相应保证用户登录系统,这里介绍一种账户自动登录的方法。

a、 在运行框中键入“Rundll32 netplwiz.dll,UsersRunDll”;

Windows系统配置python脚本开机启动的3种方法分享

b、 打开用户账户界面,将“要使用本机,用户必须输入用户名和密码”前面的勾去掉,按”确定“后输入需要自动登录的用户名和密码;

Windows系统配置python脚本开机启动的3种方法分享

二、开机脚本

不能用循环,最好配置超时时间。
测试代码(python):

import time

fout = open('e:\\1.txt','w')

tmp = '%d-%02d-%02d %02d:%02d:%02d \r\n' % time.localtime()[0:6]

print tmp

fout.write(tmp)

fout.close()

步骤如下:  

a、运行中输入gpedit.msc打开组策略编辑器;
b、选择“计算机配置”=>“Windows 设置”=>“脚本”=>“启动”选项;

Windows系统配置python脚本开机启动的3种方法分享

c、选择脚本;

Windows系统配置python脚本开机启动的3种方法分享

d、配置脚本最长等待时间,路径为“计算机配置”=>“管理模版”=>“系统”=>“脚本”=>“组策略脚本的最长等待时间”;

Windows系统配置python脚本开机启动的3种方法分享

三、通过一个服务调用该脚本

a、编写脚本启动服务serviceStartShell,代码如下(这里只列出main函数的代码):

int main(int argc,char* argv[])

{

    Init();

    dwThreadID = GetCurrentThreadId();

    SERVICE_TABLE_ENTRY st[] =

    {

        { szServiceName, (LPSERVICE_MAIN_FUNCTION)ServiceMain },

        { NULL, NULL }

    };

    //printf("argc = %d \n",argc);

    if((4 == argc) && 0 == stricmp(argv[3],"/install") )

    {

        Install(argv[1],argv[2]);

        writeReg(argv[1],argv[2]);

    }

    else if ((2 == argc) && 0 == stricmp(argv[1], "/uninstall") ) 

    {

        Uninstall();

    }

    else

    {

        if (!StartServiceCtrlDispatcher(st))

        {

            //printf("Register Service Main Function Error!");

        }

    }

    return 0;

}

 b、服务安装;

serviceStartShell.exe C:\Python27\python.exe e:\test1.py /install

c、服务卸载;
serviceStartShell.exe  /uninstall
Python 相关文章推荐
Python中Continue语句的用法的举例详解
May 14 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
python实现接口并发测试脚本
Jun 25 Python
全面了解django的缓存机制及使用方法
Jul 22 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
python3 使用traceback定位异常实例
Mar 09 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
查看keras的默认backend实现方式
Jun 19 Python
python FTP编程基础入门
Feb 27 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 Python
Python自动化构建工具scons使用入门笔记
Mar 10 #Python
Python操作CouchDB数据库简单示例
Mar 10 #Python
Python性能优化技巧
Mar 09 #Python
Python中的赋值、浅拷贝、深拷贝介绍
Mar 09 #Python
Python自动连接ssh的方法
Mar 07 #Python
Python最长公共子串算法实例
Mar 07 #Python
Python复制目录结构脚本代码分享
Mar 06 #Python
You might like
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
2019/12/16 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
python几种常用功能实现代码实例
2019/12/25 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
python3代码中实现加法重载的实例
2020/12/03 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
大学生怎样进行自我评价
2013/12/07 职场文书
面试后感谢信
2014/02/01 职场文书
家长会学生演讲稿
2014/04/26 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android