windows配置开机自启动软件或脚本

文章目录

    • windows配置开机自启动软件或脚本
      • 配置自启动目录
      • 开机运行的脚本
      • 调试开机自启动脚本
      • 配置守护进程(包装成自启动服务)
      • 使用任务计划程序
      • FAQ
    • 开机自动运行脚本示例

windows配置开机自启动软件或脚本

配置自启动目录

  • 在Windows中添加开机自动运行的软件,可以按照以下步骤进行操作:
    1. 按下Win+R键,打开“运行”对话框。
    2. 在运行对话框中输入“shell:startup”,并点击“确定”按钮。
    3. 在打开的“启动”文件夹中,右键点击空白处,选择“新建”→“快捷方式”。
    4. 在弹出的“新建快捷方式”对话框中,输入要启动的程序的路径和名称。
    5. 点击“下一步”按钮,输入快捷方式的名称,然后点击“完成”按钮。 这样,添加的程序就会在系统启动时自动运行了。

开机运行的脚本

  • 通常的,我们可以在这个自动运行目录里面配置一个脚本文件(或者其他位置下的某个脚本的快捷方式),而在这个脚本中编写我们需要的逻辑(启动某个软件,检查网络连通性,延迟执行,都可以写在同一个脚本文件中,也方便维护)
    • 这个目录中的任务文件在开机时会被尝试打开或执行,如果是文件夹,会被尝试自动打开
    • 我们可以只保留一个脚本(或脚本的快捷方式)在里面,在脚本文件可以是一个大杂烩,可以调用各种api,也方便我们备份开机自启动配置,迁移到另一台windows上,比较灵活,而且管理的文件数目也会更少
  • 在windows平台上有多种脚本类型可以选用,比如传统的cmd(bat),powershell(ps1),vbs(vbs)文件或者它们的快捷方式
  • 这里提到快捷方式,它的一个用处在于启动shell参数的配置,例如我们可能不希望powershell脚本的运行窗口弹出来(或者尽可能快地自动关闭,即使这个脚本需要执行比较长的一段时间)
    • 例如powershell.exe -NoLogo -NonInteractive -ExecutionPolicy Bypass -WindowStyle Hidden -File "C:\path\to\your_script.ps1"

调试开机自启动脚本

  • 为了便于确认编写的脚本是否能够符合预期执行,可以在桌面创建开机运行的脚本的快捷方式,并且填写合适的参数,控制窗口的显示
  • 在powershell脚本中,使用Pause等指令和Tee-Object可以用来跟踪日志

配置守护进程(包装成自启动服务)

  • 许多没有自带的软件(包括命令行软件)都可以通过nssm软件进行包装,配置启动参数不在话下
  • 当然一般我倾向于用前面的配置自启动目录的方法,不需要额外的软件

使用任务计划程序

  • 任务计划命令行程序schtasks commands | Microsoft Learn

    • PS 🕰️16:08:44 [C:\exes\alist\log] 🔋100% schtasks.exe /?
      
      SCHTASKS /parameter [arguments]
      
      描述:
          允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任
          务。
      
      参数列表:
          /Create         创建新计划任务。
      
          /Delete         删除计划任务。
      
          /Query          显示所有计划任务。
      
          /Change         更改计划任务属性。
      
          /Run            按需运行计划任务。
      
          /End            中止当前正在运行的计划任务。
      
          /ShowSid        显示与计划的任务名称相应的安全标识符。
      
          /?              显示此帮助消息。
      
      Examples:
          SCHTASKS
          SCHTASKS /?
          SCHTASKS /Run /?
          SCHTASKS /End /?
          SCHTASKS /Create /?
          SCHTASKS /Delete /?
          SCHTASKS /Query  /?
          SCHTASKS /Change /?
          SCHTASKS /ShowSid /?
      
  • 开发windows 应用中相关api使用任务计划程序 - Win32 apps | Microsoft Learn

  • 图形界面taskschdTask Scheduler Overview | Microsoft Learn

    命令行输入taskschd启动任务计划程序创建新的任务计划
    在这里插入图片描述在这里插入图片描述
    taskschd是windows自带的程序,十分古老但是有用C:\Windows\System32\taskschd.msc可以选择定期执行,也可以选择条件触发,比如开机启动(运行)
  • 可以配置权限等,操作丰富

FAQ

  • 需要注意的是,有些程序在启动时可能会需要管理员权限
    • 此时需要右键点击快捷方式,选择“属性”→“兼容性”→“以管理员身份运行此程序”,并点击“确定”按钮,以确保程序可以正常启动。
  • 另外,如果需要删除已经添加的开机自动运行程序,只需要在“启动”文件夹中删除相应的快捷方式即可。

开机自动运行脚本示例

  • # 为了更快的执行开机自启动脚本的执行速度,请在$startup_user目录内创建startup_basic.lnk,并且设置参数为如下
    # powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\repos\scripts\startup\startup_basic.ps1"
    #这样就不会加载不必要的配置,从而快速完成任务
    #可以选择隐藏powershell窗口静默执行:使用选项-WindowStyle Hidden
    # $scripts = 'C:\repos\scripts'
    
    #导入基本的powershell环境变量和字符串
    ImportGlobalEnvs
    # 日志:记录当前时间
    # "test:$(Get-Date)"> "$scripts\startup\log\log"
    
    #配置延迟启动(单位:秒)
    function sleep_tips
    {
        param(
            $delay = 0
        )
        
        if ($delay)
        {
            Write-Output "after $delay seconds run next task"
        }
        Start-Sleep $delay
    }
    
    # @REM 检查网络可用性,拖延一段时间(ping 2次即可,一般不需要太多次)
    $log_home = "$Scripts\startup\log"
    Set-Location $log_home
    $log_file = "$log_home\log.txt"
    
    ping www.baidu.com -n 2 | Tee-Object $log_file #初始化日志文件,这里不用append参数,只保留一次记录
    Get-Date | Tee-Object -Append $log_file
    
    
    
    #后台(不打印日志到前台)启动alist服务
    # $scriptBlock = {
    #     # $alist_home = 'c:\exes\alist'
    #     # Set-Location $alist_home
    #     # # (vbs免弹出窗口,同时也不会由信息输出,所以可以不用后台执行)
    #     # "$alist_home\startup.vbs" | Invoke-Expression
    #     # 当窗口退出后,如下写法会停止alist服务,因此下面的写法不可用
    #     # "$alist_home\alist.exe server" | Invoke-Expression
    # }
    # Start-Job -ScriptBlock $scriptBlock
    
    Set-Location $alist_home
    # (vbs免弹出窗口,同时也不会由信息输出,所以可以不用后台执行)
    "$alist_home\startup.vbs" | Invoke-Expression
    
    sleep_tips -delay 4
    importAliasGlobal #导入常用命令别名(会占用若干秒的时间)
    #尝试重定向输出到日志文件,但这在powershell似乎无法做到,我们用start-job虽然隐藏了输出,却无法重定向到文件
    # 如果想要接受start-job启动的任务返回结果,使用Receive-Job -Id $job.id,其中$job是Start-job 赋值的对象
    #然而这里调用的vbs没有输出结果,因此是空白的输出,就不需要定向到日志文件中
    #有些软件,例如alist server输出内容无法使用 >,2>等重定向阻止输出到标准输出终端(不知道cmd能不能做到)
    
    
    #执行已经编写好的cmd脚本文件,对于老系统,可以直接使用cmd脚本
    # C:\repos\scripts\startup\MapCloudDrive.bat
    
    $MapLog = "$scripts\startup\log\MapLog.txt"
    # "c:\repos\scripts\startup\log\MapLog"
    
    net use W: http://localhost:5244/dav /p:yes /savecred *> $MapLog # 可以输出为日志 *> "$MapLog"
    '👺👺👺' | Tee-Object -Append $MapLog
    net use | Tee-Object -Append $MapLog
    Get-Date | Tee-Object -Append $MapLog
    
    
    #查看日志文件
    
    Get-Content $log_home/*
    
    
    # 用pause指令阻止powershell窗口自动关闭
    # Pause 
    Start-Sleep 2
    
    #配置需要自启动的软件(缓慢启动)
    # "$snipaste_home\snipaste" | Invoke-Expression
    # "$ditto_home\ditto" | Invoke-Expression
    snipaste
    ditto
    #注意cfw会将日志打印占用终端,导致无法退出终端的问题,最为开机自启,如果使用 hidden参数隐藏窗口也是可以的
    # Start-Job -ScriptBlock { & 'C:\exes\cfw\Cfw.exe' }
    cfw *> null #将错误信息统统放空
    
    
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用R语言建立回归模型并分割训练集和测试集

通过简单的回归实例&#xff0c;可以说明数据分割为训练集和测试集的必要性。以下先建立示例数据: set.seed(123) #设置随机种子 x <- rnorm(100, 2, 1) # 生成100个正态分布的随机数&#xff0c;均值为2&#xff0c;标准差为1 y exp(x) rnorm(5, 0, 2) # 生成一个新的变…

SQLyog安装配置(注册码)连接MySQL

下载资源 博主给你打包好了安装包&#xff0c;在网盘里&#xff0c;只有几Mb&#xff0c;防止你下载到钓鱼软件 快说谢谢博主&#xff08;然后心甘情愿的点个赞~&#x1f60a;&#xff09; SQLyog.zip 安装流程 ①下载好压缩包后并解压 ②打开文件夹&#xff0c;双击安装包 ③…

docker常用容器命令

首先说下容器&#xff1a; 它是指当docker运行镜像时&#xff0c;创建了一个隔离环境&#xff0c;称之为 容器。 这种方式优点&#xff1a;可以开启多个服务&#xff0c;服务之前是互相隔离的&#xff08;比如&#xff1a;在一台服务器上可以开启多个mysql&#xff0c;可以是…

【AI之路】使用RWKV-Runner启动大模型,彻底实现大模型自由

文章目录 前言一、RWKV-Runner是什么&#xff1f;RWKV-Runner是一个大语言模型的启动平台RWKV-Runner官方功能介绍 二、使用步骤1. 下载文件 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; ChatGPT的横空出世&#xff0c;打开了AI的大门&#xff…

【通讯录案例-保存开关状态 Objective-C语言】

一、接下来,我们要实现一个什么功能呢,在这个,我们的“通讯录”里边儿, 1.我们有两个开关,“记住密码”、“自动登录”、两个开关, 如果我们点击“记住密码”, 如果我们点击“记住密码”,然后呢,我把这个程序关了,我下一次再打开这个程序的时候,这个用户名和密码,…

Verilog刷题笔记30

题目&#xff1a; You are provided with a BCD one-digit adder named bcd_fadd that adds two BCD digits and carry-in, and produces a sum and carry-out. 解题&#xff1a; module top_module( input [399:0] a, b,input cin,output cout,output [399:0] sum );reg [99…

HTTP基本概念-HTTP 是什么?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP 是什么? HTTP 是超文本传输协议&#xff0c;也就是HyperText Transfer Protocol。 能否详细解释「超文本传输协议」? HTTP 的名字「超文本协议传输」&#xff0c;它可以拆成三个部分: 超文本传输…

ruoyi-nbcio中xxl-job的安装与使用

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a; http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbach…

【python】Fraction类详解及生成分数四则运算“试卷”

文章目录 一、前言实验所需的库终端指令Fraction类1. Fraction(numerator, denominator)&#xff1a;2. Fraction(numerator)3. Fraction()4. 分数作参数5. 负分数作参数6. 字符串作参数7. 小数作参数8. 科学计数法9. 浮点数作参数10. 浮点数精度问题11. Decimal对象作参数 二、…

力扣刷题之旅:高阶篇(三)—— 图算法的挑战

力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目&#xff0c;以及它们的解题代码。 --点击进入刷题地址 引言 在算法世界的深处&#xff0c;图算法犹如一座高峰&#xff…

基于大语言模型的AI Agents

代理&#xff08;Agent&#xff09;指能自主感知环境并采取行动实现目标的智能体。基于大语言模型&#xff08;LLM&#xff09;的 AI Agent 利用 LLM 进行记忆检索、决策推理和行动顺序选择等&#xff0c;把Agent的智能程度提升到了新的高度。LLM驱动的Agent具体是怎么做的呢&a…

Halcon 频域缺陷检测

文章目录 傅里叶变换频谱矩形圆菱形黑白相间的亮带去除图纹&#xff08;反傅里叶变换&#xff09;去除图纹滤波器处理 Halcon 频域空间域检测缺陷Halcon 频域差分空间域 缺陷检测&#xff08;lines_gauss 提取线&#xff09;Halcon 频域差分空间域&#xff08;blob特征&#xf…

C++实现二分查找

目录 例1 例2 例3 例4 例5 例6 例1 704. 二分查找 注意&#xff1a; ①left < right,这里的号是最后一次通过下标mid来判断 ②在偶数的时候mid&#xff0c;左右无所谓&#xff0c;因为left和right都有1&#xff1b; 参考代码 class Solution { public:int search…

【selenium】

selenium是一个Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的。Selenium可以直接调用浏览器&#xff0c;它支持所有主流的浏览器。其本质是通过驱动浏览器&#xff0c;完成模拟浏览器操作&#xff0c;比如挑战&#xff0c;输入&#xff0c;点击等。 下载与打…

C++ Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统(2)折线图显示

对上一篇的工作C学习笔记 | 基于Qt框架开发实时成绩显示排序系统1-CSDN博客继续优化&#xff0c;增加一个显示运动员每组成绩的折线图。 1&#xff09;在Qt Creator的项目文件&#xff08;.pro文件&#xff09;中添加对Qt Charts模块的支持&#xff1a; QT charts 2&#xf…

用HTML5 + JavaScript绘制花、树

用HTML5 JavaScript绘制花、树 <canvas>是一个可以使用脚本 (通常为JavaScript) 来绘制图形的 HTML 元素。 <canvas> 标签/元素只是图形容器&#xff0c;必须使用脚本来绘制图形。 HTML5 canvas 图形标签基础https://blog.csdn.net/cnds123/article/details/112…

opencv 图像色彩空间转化

今天看了b站贾志刚的课&#xff0c;觉得不错&#xff0c;特地做学习笔记来和小伙伴分享 贾志刚的这个好像是2.0版本,30小时的,语言更加精炼,适合初级入门学习 第一节是常规安装 看他的步骤装就行了,记得配置完点应用再点确定,我第一次就是 没点然后就失败了,又得重配置一次…

服务网格(Service Mesh)流行工具

在这篇博客中&#xff0c;我们将介绍微服务的最佳服务网格工具列表&#xff0c;这些工具提供安全性、金丝雀部署、遥测、负载均衡等。 用于部署和操作微服务的服务网格工具的数量不断增加。在这篇文章中&#xff0c;我们将探讨您应该用来构建自己的服务网格架构的顶级服务网格…

视觉开发板—K210自学笔记(五)

本期我们来遵循其他单片机的学习路线开始去用板子上的按键控制点亮LED。那么第一步还是先知道K210里面的硬件电路是怎么连接的&#xff0c;需要查看第二节的文档&#xff0c;看看开发板原理图到底是按键是跟哪个IO连在一起。然后再建立输入按键和GPIO的映射就可以开始变成了。 …

PHP特性知识点总结

description: 专门出的关于php的特性比较,后面好像也有java的特性。 大家直接去我的gitbook或者github看就能看到图片,这里就懒得把他弄到csdn上了。 这里放github和gitbook的链接,大家跳转就可以。gitbook链接用国内的网就能访问。 gitbook: http://22kaka.fun github:htt…