日期:2014-05-17  浏览次数:20769 次

bat批处理启动服务判断问题
我开机的时候要用批出炉启动mysql,但写进run段后,每次开机都启动,不是很好。我想做个判断,当服务已启动的时候 就不再启动了,未启动才重新启动服务。
不知批处理中这个判断怎么做? 网大侠指点。

------解决方案--------------------
BatchFile code
@echo off
>"%temp%\MyService.txt" type nul
>>"%temp%\MyService.txt" sc query mysql
for /f "tokens=1-4 delims= " %%a in ('findstr "STATE" %temp%\MyService.txt') do (
  if "%%d" neq "RUNNING" (
    sc start mysql>nul
  )
)
del /q "%temp%\MyService.txt"

------解决方案--------------------
试试我这个,呵呵

BatchFile code

@echo off
::判断服务是否被禁用,如果被禁用就设置为自动
wmic service where "name="mysql" and startmode="disabled"" call changestartmode
::判断服务是否启动,如果未启动就启动此服务
wmic service where "name="mysql" and state="stopped"" call startservice