有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了,如 frp这类的工具。虽然可以写一个bat脚本,然后将它的快捷方式开机自启。不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停了。这个时候我们可以借助第三方工具winsw,它提供了xml文件可以进行服务的动态管理,方便不少。
一、下载winsw
首先要下载winsw。它是一个单个的可执行文件,我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。
二、编写配置文件
我们以启动frp服务为例。先将winsw.exe放到和frp相同的文件夹下面,然后编写一个文件名为winsw.xml的XML文件作为winsw的配置文件。下面是我的配置文件内容:
<service>
<id>frp</id>
<name>frp</name>
<description>frp remote control</description>
<executable>frps</executable>
<arguments>-c frps.ini</arguments>
<logmode>reset</logmode>
</service>
三、注册、卸载服务
我们打开一个管理员权限的命令提示符或Powershell窗口,在程度目录下执行以下命令:
注册服务:
winsw install
启动服务:
winsw start
关闭服务:
winsw stop
重启服务:
winsw restart
卸载服务:
winsw uninstall
如果只是想简单添加开机启动,打开 “运行” 对话框(WIN+R),输入以下命令,回车或点击 “确定” 即可打开 “系统启动文件夹”。创建快捷方式,放到 “启动” 文件夹内即可添加开机启动。
shell:Common Startup