下面介绍两种使用批处理操作来设置、启动和停止服务的方法。
从Windows XP开始,其自带的DOS工具中加入了一个sc.exe(Service Control)和net.exe (C:\WINDOWS\system32)的文件,恰好可以对服务的启动类型以及服务的启动或者关闭等进行操作,再利用DOS的批处理优势,就可以把上面提到的操作进行简化。
方法一:
sc.exe常用功能:
1、更改服务的启动状态.
2、删除服务(否则不建议删除任何系统服务,特别是基础服务慎用)
3、停止或启动服务(功能上类似于net stop/start,但速度更快且能停止的服务更多)
具体的命令格式:
修改服务启动类型的命令行格式为(特别注意start=后面有一个空格)
sc config 服务名称start= demand(设置服务为手动启动)
sc config 服务名称start= disabled(设置服务为禁用)
停止/启动服务的命令行格式为
sc stop/start 服务名称
注意:服务名称:可以在控制面板->管理工具->服务里面,双击对应的服务显示名来查询。例:
设置远程注册表服务为手动其格式为
sc config RemoteRegistry start= demand
设为禁用的格式为
sc config RemoteRegistry start= disabled
停止服务则格式为
sc stop RemoteRegistry
方法二:
使用net.exe功能启动或停止服务
启动/停止服务的命令行格式为
net start / stop服务名称
例:
以启动和停止Oracle服务为例:由于Oracle服务非常占用系统资源,而且平时不怎么用Oracle数据库。所以我将其设为手动启动,然后每次用到Oracle时,使用批处理来启动一堆服务。
-- 开始Oracle的服务
@echo off
net start OracleMTSRecoveryService
net start OracleOraHome92Agent
net start OracleOraHome92TNSListener
net start OracleService数据库名
-- 停止Oracle的服务
@echo off
net stop OracleService数据库名
net stop OracleOraHome92TNSListener
net stop OracleOraHome92Agent
net stop OracleMTSRecoveryService