手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >将批处理文件注册成服务在系统启动的时候自动调用
将批处理文件注册成服务在系统启动的时候自动调用
摘要:前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat.我想要达到的效果是:当系...

前两天完成了将java程序注册成win服务,如今本人有一个java工程起重含有启动脚本startagent.bat.我想要达到的效果是:当系统启动的时候就自动调用startagent.bat脚本,于是开始网上寻求相关资料。

1、首先由师兄提示可以使用系统命令sc实现

sc create 服务名 binPath= .bat文件所在路径 start=auto

(注意 =后面有空格,如果文件路径中含空格则使用引号引起来)

具体的参数可以使用sc /?来查看。

安装倒是挺顺利,管理/服务中出现了新安装的服务,但是启动的时候报错:

"在本地计算机无法启动server服务,错误5:拒绝访问"

删除服务的时候使用

sc delete 服务名

报错:"xxx服务已标记为删除"

重新安装报错:

"错误1053:服务没有及时响应启动或控制请求"

尝试未果,又逢有网友说这种方式行不通,要想作为服务启动。bat文件得符合msdn上规定的特定格式的。

--------------尝试新的方案--------------

采用instsrv.exe /srvany.exe

用instsrv.exe /srvany.exe 注册windows 服务方法:

1. 注册服务: x:/xxx/instsrv 服务名 x:/xxx/srvany.exe(注意得使用"/")

-------- 将srvany.exe 注册成系统服务

2. regedit打开注册表

3. 进入HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/服务名

4. 右键-新建-项 填入 Parameters

5. 打开Parameters,右键-新建-字符串值 Application

6. 双击Application 填入 应用程序的绝对路径,如: E:/jboss-4.0.5.GA/bin/starteos.bat

7. 右键-新建-字符串值AppDirectory

8. 双击AppDirectory 填入 应用程序的工作目录,如: E:/jboss-4.0.5.GA/bin

----------- 通过srvany.exe 启动注册表中定义的。exe 应用

9. 启动服务。

(注意: 7与8不可或缺)

在windows 服务管理器中看到定义的服务…

问题时解决了, 然而出现了奇怪的2幕:

A、 在服务中启动、关闭服务似乎无效,只有重启才会生效

B、 配置文件每次都被还原了?(估计是源自自己的一次小修改,待查明… … )

最终通过重建才解决B问题的, 为什么呢? 我的修改?… …

删除一个自定义的服务呢?

如果你要卸载一个本地服务,可以通过命令行输入如下命令

sc delete ServiceName

或者在直接修改注册表

在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中删除相应的键值。

【将批处理文件注册成服务在系统启动的时候自动调用】相关文章:

批处理中常用的符号总结

分享dos批处理命令的一些使用技巧(截取字符串)

用批处理文件自动备份文件及文件夹,并自动删除n天前的文件

如何让批处理程序启动的时候最小化

批处理利用HOSTS文件(屏蔽,加速)网站的代码

批处理实现文本内容横列变纵列的代码

批处理 文件归类整理器(当面目录)

把文件名当中含有特殊字符[.]的文件删除的方法

批处理重命名特殊文件名的代码

使用批处理禁用(启用)组策略的代码

精品推荐
分类导航