Windows环境中Python脚本开机自启动及其监控自启动

news2025/1/18 19:04:15

1 开机自启动

Windows 10/Windows Server 201X具有一个名为“启动”的已知文件夹,系统每次启动开始自动运行应用程序、快捷方式和脚本时都会检查该文件夹,而无需额外配置

要在Windows启动时运行脚本,先使用Windows+R快捷键打开“运行”对话框。
在这里插入图片描述
键入命令:shell:startup

C:\Users\lhy\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

测试脚本(.bat):

@echo off
chcp 65001
d:
cd \xxx
python xxx.py

将该文件放入 Startup 文件夹下,重启电脑即可。注意当文件的属性被设置为“隐藏”时,重启时可能会不执行

在运行上述Batch(BAT)脚本时,通常会弹出一个命令行窗口来显示脚本的执行。如果想在运行BAT脚本时关闭命令行窗口,可以使用VBScript创建一个新的VBScript(.vbs)文件,然后在该文件中使用以下代码来运行BAT脚本::

CreateObject("Wscript.Shell").Run "c:xxx\xxx.bat",0,True

具体可以参考:

在Windows下运行命令行程序,如何才能不显示命令行窗口,让程序保持后台运行?
https://blog.csdn.net/quicmous/article/details/136420097
运行bat时隐藏cmd窗口:
https://www.cnblogs.com/mq0036/p/14633154.html

2 运行监控自启动

上述脚本只能达到一个开机自启动,无法检查程序是否在运行以及重启程序,因此可采用下述脚本,注意需要将上述的**.bat转换为.exe文件**(网上有工具可自行查找):

@echo off
:start
choice /t 5 /d y /n >nul
tasklist|find /i "xx.exe"
if %errorlevel%==0 (
echo "yes"
) else (
echo "No"
start "" cmd /k "xxx\xx.exe"
)
goto start

其中:

### 定时5s
choice /t 5 /d y /n >nul
### 如果存在该进程
if %errorlevel%==0 (
### 如果不存在,则自行启动
start "" cmd /k "xxx\xx.exe"

也可以采用powershell脚本(.ps1)

$pythonPath = "C:\XXX\anaconda3\python.exe"
$scriptPath = "D:\XXX.py"

while ($true) {
    Start-Process -FilePath $pythonPath -ArgumentList $scriptPath -NoNewWindow
    
    while (Get-Process -Name "python" -ErrorAction SilentlyContinue) {
        Start-Sleep -Seconds 5
    }
    
    Start-Sleep -Seconds 5
}

把应用程序与批处理文件加入到安全白名单中。加入到白名单中的文件目录,文件,安全防护工具将信任该软件,可以直接使用。

以360安全卫士为例,在信任区添加python文件目录,以及启动文件夹中的批处理文件。

在这里插入图片描述

或者将上述.bat或.ps1和.exe一起粘贴到Startup 文件夹,否则.exe可能会被删除,从而报内存不足的错误。或者参考:https://m.7jianban.com/jiaocheng/29941.html

3 设置了开机启动,但没有自启

  • 问题:脚本加入启动项后,开机没有自动启动

  • 原因分析:win10系统,只要是图标右下角带盾牌标志的软件,加入系统的启动文件夹:如:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 里面,每次开机后都会启动失败!据说这个是win10出于系统安全考虑,加入了UAC,对系统管理员权限做了限制造成的。

  • 解决方案:

1 win+R打开运行窗口,运行打开组策略(家庭版没有组策略功能),输入:gpedit.msc
在这里插入图片描述
2 依次展开:计算机配置-》Windows设置-》安全设置-》本地策略-》安全选项-》用户账户控制:以管理员批准模式运行所有管理员,设置为已禁用
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3 重启计算机

如果还不行,就在cmd里执行:

# 使用环境变量%ProgramData%或者%SYSTEMDRIVE%
echo %SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
echo %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp

参考:
https://m.jb51.net/python/323335imo.htm
https://blog.csdn.net/weixin_44462773/article/details/135739385
https://blog.csdn.net/weixin_40277264/article/details/128862187

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2256140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql索引原理及优化——岁月云实战笔记

根据Mysql索引原理及优化这个博主的视频学习,对现在的岁月云项目中mysql进行优化,我要向这个博主致敬,之前应用居多,理论所知甚少,于是将学习到东西,应用下来,看看是否有好的改观。 1 索引原理…

JavaWeb学习(3)(Servlet详细、Servlet的三种实现方式(面试)、Servlet的生命周期、传统web.xml配置Servlet(了解))

目录 一、Servlet详细。 (1)基本介绍。 (2)基本作用。 1、接收客户端请求数据。 2、处理请求。 3、完成响应结果。 二、Servlet的三种实现方式。 (1)实现javax.servlet.Servlet接口。 1、基本介绍。 2、代码…

第6章:布局 --[CSS零基础入门]

CSS 布局是网页设计中至关重要的一个方面,它决定了页面上元素的排列和展示方式。以下是几种常见的 CSS 布局方法和技术: 1. 浮动布局(Float Layout) 浮动布局(Float Layout)曾经是网页设计中创建多列布局…

哪里可以找到高质量的街道夜景短视频素材?夜景素材网站推荐

在短视频创作的浪潮中,街道夜景作为一种视觉效果独特、氛围浓郁的题材,深受创作者的青睐。不论是商业广告、创意短片还是个人Vlog,街道夜景的视频素材都能为你的作品增添不小的分量。那么,在哪里可以找到这些高质量的街道夜景短视…

Unity类银河战士恶魔城学习总结(P166 Ailments FX 异常状态伤害粒子特效)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节创建了三种粒子特效,火焰,寒冰,雷电 主场景创建/特效/粒子 初始的例子特效 火焰 寒冰 雷电 En…

游戏引擎学习第38天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾上次的内容。 我们之前讨论了将精灵放在屏幕上,但颜色错误的问题。问题最终查明是因为使用了一个调整工具,导致文件的字节顺序发生了变化。重新运行“image magic”工具对一些大图像进行重新处理后&am…

数据结构---带头双向循环链表

目录 一、概念 二、接口实现 1、申请新节点 2、初始化 3、尾插 4、尾删 5、头插 6、头删 7、计算链表长度 8、在pos之前插入 9、删除pos位置 10、销毁 三、完整代码 四、顺序表和链表的区别 一、概念 带头双向循环链表:构最复杂,结一…

学习记录:js算法(一百一十八):连接所有点的最小费用

文章目录 连接所有点的最小费用思路一 连接所有点的最小费用 给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] [xi, yi] 。 连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| |yi - yj| ,其…

使用Altair绘制带有回归线的散点图

散点图和回归线 两个不同数值变量的值在散点图中用点或圆圈表示。每个点在水平轴和垂直轴中的位置表示单个数据点的值。散点图有利于观察变量之间的关系。回归线是最适合数据的直线,从线到图表上绘制的点的总距离最小。 安装 pip install altair在本文中的数据集…

【问题解决方案】项目路径更改后pycharm选定解释器无效

1. 问题重述 第一次创建项目并且项目路径下创建venv虚拟环境后修改项目的路径(整个项目移动到另外的地方),这时候出现 2.解决方案 用我这篇文章的方式这时候是解决不了问题的,两个问题出现的原因不同,这个是项目关联…

【C语言--趣味游戏系列】--电脑关机整蛊小游戏

前言: 老铁们,还是那句话,学习很苦游戏来补, 为了提高大家与朋友之间的友谊,博主在这里分享一个电脑关机的恶作剧小游戏,快拿去试试吧!!! 目录: 1.电脑关机代…

基于Matlab卷积神经网络的交通标志识别系统研究与实现

交通标志识别作为智能交通系统的核心技术之一,不仅在自动驾驶领域发挥着关键作用,还在现代道路安全管理中具有重要意义。交通标志为驾驶员提供了有关道路情况的及时信息,包括限速、行驶方向、停车、危险警告等内容,因此能够准确、…

论文概览 |《Urban Analytics and City Science》2023.03 Vol.50 Issue.3

本次给大家整理的是《Environment and Planning B: Urban Analytics and City Science》杂志2023年3月第50卷第3期的论文的题目和摘要,一共包括18篇SCI论文! 论文1 A new kind of search 一种新型的搜索 【摘要】 ChatGPT (2022) was first launched o…

Jenkins 中自定义Build History中显示构建信息

有时候会遇到一个代码仓库下面会有多个不同的分支,而这写分支表示着不同的开发者在开发新的需求,但是这样就会出现一个问题,在Jenkins上进行多分支构建的时候,很难找到哪一个是属于自己分支构建的,这样的问题大家应该都…

spring6:3容器:IoC

spring6:3容器:IoC 目录 spring6:3容器:IoC3、容器:IoC3.1、IoC容器3.1.1、控制反转(IoC)3.1.2、依赖注入3.1.3、IoC容器在Spring的实现 3.2、基于XML管理Bean3.2.1、搭建子模块spring6-ioc-xml…

Java项目实战II基于微信小程序的无中介租房系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着城市化进程的加速,租房市场日益繁荣&a…

使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)

一. 前言 在众多 ECharts 图表类型中,开发者始终绕不开的有各种各样的地图开发,关于地图开发,可能比其他图表相对繁琐一些,其实说简单也简单,说复杂也复杂,其中不乏有层级地图、3D 地图等,感觉…

WPF表格控件的列利用模块适配动态枚举类

将枚举列表转化到类内部赋值&#xff0c;在初始化表格行加载和双击事件时&#xff0c;触发类里面的枚举列表的赋值 <c1:Column Header"变更类型" Binding"{Binding ChangeType, ModeTwoWay, ValidatesOnExceptionsTrue, ValidatesOnDataErrorsTrue, NotifyOn…

基于AT89C52单片机的电子时钟与温湿度检测系统

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Java、JavaWeb、数据库-图书管理系统

这一章主要是把上一章写在网页里的java 代码从网页中分离出来&#xff0c;放在专门的servlet类中。每一个servlet类对应一个数据库的表。 规范性问题&#xff1a; 1、dao包存放有关数据库的信息&#xff1a;BaseDao包就放数据库加载驱动和增删改和关闭资源&#xff1b;而其他…