将.bat文件设置成windows服务(解决odi代理开机自动启动的问题)

ODI中建了一个代理,希望可以让任务自动执行。起初是写了一个.bat文件,然后将文件放在windows的“启动”中。但是发现有问题,如果系统重启后(比如自动更新后的重启),需要人工进入系统,这个.bat文件才会自动执行。百度后发现可以将.bat文件注册成window服务,这样不论是不小心关了执行的界面还是自动重启,都可以自动启动。

参考了以下文章(博主对windows的开发完全是小白,所以连.bat文件都百度了才知道是什么):

https://blog.csdn.net/qq_42650988/article/details/81383814(.bat文件的妙用)

https://blog.csdn.net/horsequan/article/details/44212985(如何将bat服务注册为windows服务)

https://wangye.org/blog/archives/42/(使用srvany.exe将任何程序作为Windows服务运行)

需要用到的小工具的下载链接:

https://pan.baidu.com/s/1O5Sj5rQOxXzPdifGbNE-4w

下面是正题(基本是转载自https://blog.csdn.net/horsequan/article/details/44212985):

1、下载上面的工具

2、将两个工具复制到C:WindowsSystem32以及C:WindowsSysWOW64下(我的服务器是64位的)

3、在命令行中使用工具新建一个服务,名字可以自己取。

4、点击regedit.exe,打开注册表,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services下可以找到刚刚添加的服务:

右键添加项,并将名字设置为Parameters。然后在项下添加字符串值AppDirectory、Application、AppParameters,如下图所示,参数名称不能是自己随便命名的。如果随意命名,服务将无法正常启动。

5、最后打开services.msc 就可以看到自己的服务顺利注册成功,然后启动。启动成功后重启服务器即可。

遗留问题:
如果我手动停止服务,发现实际停止不了。不知道原因,待解决。

原文地址:https://www.cnblogs.com/maowh/p/10156124.html