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 相关文章推荐
在Linux系统上安装Python的Scrapy框架的教程
Jun 11 Python
python rsa 加密解密
Mar 20 Python
Python深度优先算法生成迷宫
Jan 22 Python
python3+PyQt5实现自定义窗口部件Counters
Apr 20 Python
python查看模块安装位置的方法
Oct 16 Python
如何使用python操作vmware
Jul 27 Python
学习Django知识点分享
Sep 11 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 Python
python轮询机制控制led实例
May 03 Python
详解python爬取弹幕与数据分析
Nov 14 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 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中将数组转成XML格式的实现代码
2011/08/08 PHP
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
jQuery基础知识小结
2014/12/22 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
python 递归相关知识总结
2021/03/03 Python
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
银行实习鉴定
2013/12/13 职场文书
五型班组建设方案
2014/02/10 职场文书
村干部培训班主持词
2014/03/28 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫