将批处理文件注册成服务在系统启动的时候自动调用
所属分类:
脚本专栏 / DOS/BAT
阅读数:
168
收藏 0赞 0分享
前两天完成了将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 中删除相应的键值。
XP下WORKSTATION启动慢导致系统启动时间过长问题的解决方法
通常安装过VMwareWorkstation导致系统启动过慢,经分析后,发现WORKSTATION服务启动时间较长,禁用后效果明显,可WORKSTATION是WINDOWS的共享基础服务,像我就离不开这个服务的,所以只需下面的脚本就可以解决问题了
收藏 0赞 0分享
IP动态切换bat脚本
因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说!
WINXP,WIN7测试通过
收藏 0赞 0分享
xcopy 实现批处理拷贝文件或文件夹
xcopy 是一个很有用的doc命令,应该学习学习,XCOPY 还有众多的功能, 是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去
收藏 0赞 0分享
安全工具netsh IPSec使用方法[ip安全策略]
IPSec的全称是Internet Protocol Security,翻译成中文就是Internet协议安全性。它的作用主要有两个:一个是保护 IP 数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击
收藏 0赞 0分享
注册表危险组件删除功能批处理
用批处理实现的删除注册表危险组件的代码,主要应用于服务器,个人电脑不建议使用。
收藏 0赞 0分享
查看更多