BAT 实现服务的启动和关闭的切换

来源:百度知道 编辑:UC知道 时间:2024/06/14 04:13:32
我想编写一个BAT实现SQL2005服务的启动和关闭的切换. 当运行bat文件后如果服务已启动就执行关闭, 反之就执行启动. 请高手指教 !我编写了一个(下图)但是实现不了判断关闭的效果.

BatchFile code@echo on
color 0B
::判断服务是否被禁用,如果被禁用就设置为自动
::wmic service where "name="MSSQL$SQL2005" and startmode="disabled"" call changestartmode
::判断服务是否启动,如果未启动就启动此服务
wmic service where "name="MSSQL$SQL2005" and state="stopped"" call startservice
GOTO STOP ::此处应如何判断?
:start
net start MSSQL$SQL2005
goto success
:stop
net stop MSSQL$SQL2005
goto end
:success
::net start
@echo 服务开启成功,谢谢使用!
:end
@pause>nul

@echo off
for /f "skip=3 tokens=4" %%i in ('sc query 服务名') do set "zt=%%i" &goto :next

:next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行,现在已经停止运行
net stop 服务名
) else (
echo 该服务现在处理停止状态,将进行启动
net start 服务名
)
pause

其中把里面的"服务名"换成你的那个SQL的服务的名称,
注意,切记..打开"控制面板"--"管理工具"--"服务"--然后找到你的那个SQL服务,右键"属性"
然后会看到"服务名称",就把服务名称后面的那个就是这里的"服务名",把它替换到这里来就可以了..这个服务名称是不会有空格的,
如果照这样来,就可以了.恩