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 相关文章推荐
在Django的上下文中设置变量的方法
Jul 20 Python
Python环境变量设置方法
Aug 28 Python
python编程培训 python培训靠谱吗
Jan 17 Python
python 拼接文件路径的方法
Oct 23 Python
在pycharm中设置显示行数的方法
Jan 16 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
Python的对象传递与Copy函数使用详解
Dec 26 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
Django windows使用Apache实现部署流程解析
Oct 12 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数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php上传文件问题汇总
2015/01/30 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
深入理解Promise.all
2018/08/08 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
关于Python数据结构中字典的心得
2017/12/04 Python
python3中函数参数的四种简单用法
2018/07/09 Python
python版百度语音识别功能
2019/07/09 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
SQL语言面试题
2013/08/27 面试题
个人简历自我评价
2014/02/02 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
运动会演讲稿200字
2014/08/25 职场文书
违纪检讨书范文
2015/01/27 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
销售合作意向书范本
2015/05/08 职场文书
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers