Windows系统配置python脚本开机启动的3种方法分享
作者:junjie 发布时间:2022-02-27 22:09:24
测试环境: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 创建快捷方式;
1.2 将创建的快捷方式放入开始菜单启动项;
1.3、开机验证;
2、隐藏命令行窗口启动
上述操作方法有命令行窗口,有些场合感觉不太实用,我们可以通过以下两种方式去掉命令行窗口。
2.1 将python脚本的文件扩展名改为".pyw"
其它操作和上述过程类似,这里不再赘述。
2.2 通过vbs之类的脚本启动
vbs代码如下:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c E:\test1.py",vbhide
路径根据具体情况进行配置,其它的和之前的操作类似,这里不再赘述。
如果不想用快捷方式的话,把脚本直接放入启动项也可以。
附:
配置账户自动登录
通过开始菜单启动项来实现的话,必须进行相应保证用户登录系统,这里介绍一种账户自动登录的方法。
a、 在运行框中键入“Rundll32 netplwiz.dll,UsersRunDll”;
b、 打开用户账户界面,将“要使用本机,用户必须输入用户名和密码”前面的勾去掉,按”确定“后输入需要自动登录的用户名和密码;
二、开机脚本
不能用循环,最好配置超时时间。
测试代码(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 设置”=>“脚本”=>“启动”选项;
c、选择脚本;
d、配置脚本最长等待时间,路径为“计算机配置”=>“管理模版”=>“系统”=>“脚本”=>“组策略脚本的最长等待时间”;
三、通过一个服务调用该脚本
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


猜你喜欢
- 在实际生活中,经常会有文件重复的困扰,即同一个文件可能既在A目录中,又在B目录中,更可恶的是,即便是同一个文件,文件名可能还不一样。在文件较
- 很早很早的时候,computer这个东西习惯于被称之为计算机,因为它的主要功能是完成一些科学计算的东西,我记得自己鼓捣它的时候,就是计算,根
- 一、SQLite简介SQLite是一个包含在C库中的轻量级数据库。它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard
- 一、前言有两种应用场景需要用到数据生成器,一种是需要测试数据库性能,比如在100万条和1000万条记录的时候对比查询或更新语句执行耗时,一种
- 大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没
- 树状图树状图是显示对象、组或变量之间的层次关系的图表。树状图由在节点或簇处连接的分支组成,它们代表具有相似特征的观察组。分支的高度或节点之间
- 1.SQL SERVER的数据类型 数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同
- SQL Server 2000 清理日志精品教程SQL Server 2000 数据库日志太大!如何清理SQL Server 2000的日志
- 1、保存列表为.txt文件#1/list写入txtipTable = ['158.59.194.213', '18.
- 即text-overflow:ellipsis,需要配合white-space:nowrap使用。运行代码:<div style=&q
- 本文实例讲述了python使用urllib2提交http post请求的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/
- 本文实例讲述了python os模块简单应用。分享给大家供大家参考,具体如下:举例中的目录形式如下所示:In [36]: pwdOut[36
- id(object)功能:返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值。此处所说的对象应该特指复合
- 引言 性能是一个特征。您必须预先设计性能,否则您以后就得重写应用程序。就是说,有哪些好的策略可使 Active Server Pages (
- 本文实例为大家分享了OpenCV实现相机标定的具体代码,供大家参考,具体内容如下一、相机与 * 相机模型1.相机模型现代科技加持下的相机已经成
- 如何在线压缩Access数据库?Access数据库可以在线压缩吗?可以的,代码和说明见下:compact.asp<%option&nb
- 前言在Django的模型字段参数中,有一个参数叫做validators,这个参数是用来指定当前字段需要使用的验证器,也就是对字段数据的合法性
- 1. 计算给出两个时间之间的时间差import datetime as dt# current timecur_time = dt.date
- 前言视图是数据库系统中一种非常有用的数据库对象。MySQL 5.0 之后的版本添加了对视图的支持。认识视图视图是一个虚拟表,其内容由查询定义
- 注意: 在搭建网络的时候用carpool2D的时候,让高度和宽度方向不同池化时,用如下:nn.MaxPool2d(kernel_size=2