Board logo

标题: 麻烦大家帮忙修改一个启动服务的bat 谢谢 [打印本页]

作者: cjnppa     时间: 2008-9-10 16:45    标题: 麻烦大家帮忙修改一个启动服务的bat 谢谢

我想创建一个启动mysql服务的bat

if mysql服务未启动{       
  if mysql服务类型非手动 {
    设置mysql服务类型为手动
     启动mysql服务                       
  }else{
    启动mysql服务                       
   }
}else{
  停止mysql服务
}

对照写了一个bat 但不成功,麻烦大家给予指正。。。谢谢

@echo off
if not sc qurey mysql | find /i "runing" {       
  if not sc config mysql start= demand {
  sc config mysql start= demand
  net start "mysql"                       
  }else{
   net start "mysql"                       
   }
}else{
  net stop "mysql"
}
作者: HAT     时间: 2008-9-10 18:28

@echo off
for /f "tokens=1-4 delims= " %%a in ('sc query mysql^|findstr "STATE"') do (
  if "%%d" neq "RUNNING" (
    sc config mysql start= demand
    sc start mysql
  ) else (
    sc stop mysql
  )
)

作者: huahua0919     时间: 2008-9-10 18:49

sc query mysql|findstr /i "stopped"&&sc config "mysql" start= demand&&sc start  mysql||sc stop mysql

作者: cjnppa     时间: 2008-9-10 21:46
非常感谢 两位高手的回复。。。。  已测试可以按要求启动。。  貌似huahua0919 写的更简练点  呵呵  ......  小弟初学  再次感谢.................
作者: cjnppa     时间: 2008-9-10 21:53
请教 huahua0919

sc config "mysql" start= demand   这一句是不是 我每次执行这个bat都要把服务类型设置

为手动呢?
作者: huahua0919     时间: 2008-9-10 21:58
请教不敢当
只要服务没有开启,执行此命令后都会将设定为手动
作者: cjnppa     时间: 2008-9-11 08:41
OK 明白