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下载Bing图片(代码)
Nov 07 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
新手常见6种的python报错及解决方法
Mar 09 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
Python实现转换图片背景颜色代码
Apr 30 Python
彻底解决Python包下载慢问题
Nov 15 Python
七个非常实用的Python工具包总结
Jun 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上的memcache和memcached两个pecl库
2010/03/29 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP中把对象数组转换成普通数组的方法
2015/07/10 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
php生出随机字符串
2017/07/06 PHP
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
vue.js实现二级菜单效果
2019/10/19 Javascript
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
详解Python中的静态方法与类成员方法
2017/02/28 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
财务工作个人求职的自我评价
2013/12/19 职场文书
十月份红领巾广播稿
2014/01/22 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
美术教师自我鉴定
2014/02/12 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
技术股东合作协议书
2014/12/02 职场文书
五年级下册复习计划
2015/01/19 职场文书
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby