windows开机自启动
因项目要求,需要把一个.bat(.exe也一样)设置成“开机自启动”。有两种方式。一个是把程序的快捷方式放到启动文件夹,一个是把程序设置成windows的服务。
一、快捷方式放到启动文件夹。
最开始用的方法很简单,就是生成快捷方式,win+R,输入shell:startup回车,打开启动文件夹,把对应的快捷键复制到打开的文件夹就行。
但是后面发现一个比较大的问题,这种方法需要一定的权限,在服务器启动时,如果没有登录服务器,对应的程序没有权限就不会启动,所以服务器重启了需要登录一下,就很不方便-_-。
所以就在网上开到了其他方法。
二、将 .exe、.dat转成windows服务
这样不用登录也可以自启动。
打开其实在网上有挺多程序转服务的方法,实现的时候感觉用srvany.exe和instsrv.exe比较简单,在此进行记录。
下载srvany.exe和instsrv.exe。
cmd打开到instsrv.exe目录下执行instsrv ServiceName srvany.exe的安装目录
srvany.exe的安装目录中尽量不要有空格,也可能可以,但是要用特殊符号表示空格,目录使用的时候不能直接输空格,可能是要输入%20之类的?,我没实现
例如:
instsrv Geoserver8997 D:\bat2serve\srvany.exe
然后打开注册表编辑器,在目录
“计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”下就可以看到你的服务了。
相当于现在你只是把服务注册进去了,但是这个服务对应的程序还没有,所以要配置。
在该目录下新建一个文件夹Parameters (注意有个s!!)
右键刚刚新建的文件夹Parameters,在里面新建表字符串值,并配置对应的值变量。
字段名 | 值 |
---|---|
AppDirectory | 对应要设置的程序的文件夹(例:D:\geoserver2.18.2 _8997\bin) |
Application | 对应要设置的程序的文件路径(例:D:\geoserver2.18.2 _8997\bin\startup.bat) |
打开任务管理器,查看服务就可以看到服务启动了。