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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
Python实现批量下载图片的方法
Jul 08 Python
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
python 内置函数filter
Jun 01 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
Python 中@property的用法详解
Jan 15 Python
Python脚本实现监听服务器的思路代码详解
May 28 Python
Python定时任务APScheduler原理及实例解析
May 30 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 Python
Python爬虫中Selenium实现文件上传
Dec 04 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
9个JavaScript评级/投票插件
2010/01/18 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
教你用Python写安卓游戏外挂
2018/01/11 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
高中三年学习生活的自我评价
2013/10/10 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
即将毕业大学生自荐信
2014/01/24 职场文书
幼师自我鉴定
2014/02/01 职场文书
表彰大会策划方案
2014/05/13 职场文书
计生工作先进事迹
2014/08/15 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
培训班通知
2015/04/25 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
开学典礼致辞
2015/07/29 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书