windows启动时自动运行程序-startup
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
windows启动时⾃动运⾏程序-startup
第⼀种:需要登录才能运⾏的⽅法
第⼀步:编写运⾏jar包的bat⽂件
新建⼀个run.txt⽂件,将以下内容放进去,然后修改⽂件后缀为.bat
@echo off
java -jar C:\Users\Administrator\Desktop\test-0.0.1-SNAPSHOT.jar > C:\Users\Administrator\Desktop\test.log
pause
解释:@echo off 执⾏该命令后,后⾯所有的命令⾏都不会显⽰出来(但是程序的打印输出会显⽰)
> 将jar包控制台的输出输出到⼀个⽂件中(可以不输出到⽂件中,因为⽂件可能会特别⼤)
pause 当执⾏到该命令时,会暂停命令⾏的执⾏,并打印显⽰"请输⼊任意键继续..."的字符。
可能是因为springBoot启动时需要打印⼀堆东西的缘故,可能会额外弹出⼀个窗⼝显⽰"请输⼊任意键继续..."的字符。
然后你按任意键继续即可,只要打印输出的窗⼝不关,额外弹出的窗⼝关闭也没事,就相当于⼀个启动完成的标志吧。
PS:如果想要在⼀个bat⽂件中运⾏多个jar包,要这样使⽤
@echo off
start cmd /c "java -jar d:\test.jar"
start cmd /c "java -jar d:\test2.jar"
pause
解释: start 表⽰要执⾏⼀个命令或⼀个可执⾏的⽂件等。
这样每执⾏⼀个start cmd /c 命令就会弹出⼀个命令⾏窗⼝,所以要想办法隐藏掉。
因为有⼀个控制台打印的进程⼀直开着,所以关闭是关闭不掉的。
第⼆步:编写vb脚本隐藏命令⾏窗⼝
因为若只执⾏第⼀步的话,启动后会弹出⼀个或多个命令⾏窗⼝,当窗⼝关闭时,项⽬也停⽌了,所以编写⼀个vb脚本隐藏命令⾏窗⼝,操作步骤:新建⼀个txt⽂件,将以下内容copy进去,修改⽂件后缀为vbs即可。
内容如下
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c d:\run.bat",vbhide
作⽤就是去执⾏第⼀步的bat⽂件。
检查有没有启动成功: netstat -ano | findstr 端⼝号
强制关闭进程: taskkill -f -pid 进程id
第三步:设置开机运⾏该脚本
找到这个位置
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
或者这个位置
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
将第⼆步的vbs⽂件放进去就⾏了。
(注意,AppData和ProgramData是两个隐藏⽂件,需要在查看中勾选隐藏的项⽬这个选项。
以上两个⽬录都是windows的开机⾃启⽬录,区别就是第⼀个只是属于当前登录⽤户的,第⼆个是属于所有⽤户的。
如果设置了开机密码,则必须是输⼊密码后才会去执⾏vb脚本,注意!
第⼆种:不需要登录也可运⾏程序的⽅法
⽅式⼀::利⽤组策略开机启动项⽬
利⽤windows⾃带的搜索⼯具,搜索"组策略",打开以下页⾯
双击启动,在启动中添加vb脚本,即可实现不⽤登陆,也能开机启动程序。
个⼈电脑⼤部分都有这个组策略,但像windowsServer这样的服务器就没有这个(MD,亲⾝体验过...),但我们可以使⽤以下⽅式。
⽅式⼆:利⽤计划任务实现开机启动
在任务创建的最后输⼊⽤户名和密码即可。
图中的test任务为我刚刚测试的任务,这是他的⼀些属性。
test任务属性图
⽅式三:注册成windows服务,并设置启动⽅式为开机⾃启
利⽤windows的sc(service create)命令。
之后重启服务器即可看到启动成功sc create 服务名 binPath=C:\Users\admin\Desktop\run.bat start= auto
查看是否启动成功
在cmd中输⼊services.msc ,查看是否有该服务
启动,关闭,删除该服务
net start 服务名
net stop 服务名
sc delete 服务名。