将.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:\Windows\System32以及C:\Windows\SysWOW64下(我的服务器是64位的)
3、在命令行中使用工具新建一个服务,名字可以自己取。
4、点击regedit.exe,打开注册表,在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services下可以找到刚刚添加的服务:
右键添加项,并将名字设置为Parameters。然后在项下添加字符串值AppDirectory、Application、AppParameters,如下图所示,参数名称不能是自己随便命名的。如果随意命名,服务将无法正常启动。
5、最后打开services.msc 就可以看到自己的服务顺利注册成功,然后启动。启动成功后重启服务器即可。
遗留问题:
如果我手动停止服务,发现实际停止不了。不知道原因,待解决。