Board logo

标题: [系统相关] 指定服务无法用批处理启动如何解决?谢谢 [打印本页]

作者: kingbin    时间: 2016-2-14 19:54     标题: 新手请教,解析下列代码意思,谢谢

本帖最后由 kingbin 于 2016-2-14 20:54 编辑

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

:next
if /i "%zt%"=="RUNNING" (
echo 已经发现该服务在运行,现在已经停止运行
net stop ShellHWDetection
) else (
echo 该服务现在处理停止状态,将进行启动
net start ShellHWDetection
)
pause
作者: ivor    时间: 2016-2-14 21:50

本帖最后由 ivor 于 2016-2-14 21:57 编辑
  1. 你也算发过一次帖子了,代码为什么不放在这里呢?下次不回答了
复制代码
  1. @echo off
  2. rem 跳过三行,取第四段字符串到%%i,即 %%i=RUNNING 或者 !(RUNNING)  goto 是跳转到 :next标签
  3. for /f "skip=3 tokens=4" %%i in ('sc query ShellHWDetection') do set "zt=%%i" &goto :next
  4. rem :next标签的代码区域↓
  5. rem 就是判断zt==RUNNING执行一些操作
  6. :next
  7. if /i "%zt%"=="RUNNING" (
  8. echo 已经发现该服务在运行,现在已经停止运行
  9. net stop ShellHWDetection
  10. ) else (
  11. echo 该服务现在处理停止状态,将进行启动
  12. net start ShellHWDetection
  13. )
  14. pause
  15. rem :next标签的代码区域↑
复制代码

作者: gawk    时间: 2016-2-15 16:46

判断 ShellHWDetection 这个服务的状态。
如果该服务处于运行状态,就把它停掉;否则就把它启动。
作者: kingbin    时间: 2016-2-15 17:25     标题: 指定服务无法用批处理启动如何解决?谢谢

  1. @echo off
  2. for /f "skip=3 tokens=4" %%i in ('sc query ShellHWDetection') do set "zt=%%i" &goto :next
  3. :next
  4. if /i "%zt%"=="RUNNING" (
  5. echo 已经发现该服务在运行,现在已经停止运行
  6. net stop VMwareHostd
  7. net stop VMAuthdService
  8. net stop VMnetDHCP
  9. sc stop "VMware NAT Service"
  10. net stop VMUSBArbService
  11. netsh interface set interface name="VMware Network Adapter VMnet1" admin=DISABLED  
  12. netsh interface set interface name="VMware Network Adapter VMnet8" admin=DISABLED  
  13. ) else (
  14. echo 该服务现在处理停止状态,将进行启动
  15. net start VMAuthdService
  16. net start VMnetDHCP
  17. sc config "VMware NAT Service" start= demand
  18. net start "VMware NAT Service"
  19. net start VMUSBArbService
  20. net start VMwareHostd
  21. netsh interface set interface name="VMware Network Adapter VMnet1" admin=ENABLED  
  22. netsh interface set interface name="VMware Network Adapter VMnet8" admin=ENABLED  
  23. )
  24. pause
复制代码

作者: ivor    时间: 2016-2-15 17:50

回复 1# kingbin


    有些服务启动有前置要求,看提示先把前置的服务启动了
作者: kingbin    时间: 2016-2-15 22:57

本帖最后由 kingbin 于 2016-2-15 22:59 编辑

回复 5# ivor
请问怎样看前置要求,是看服务程序的属性?但没提示到什么内容有关是需要启动哪个服务程序!这代码不是我写的,是网上找的,然后添加几个命令的,请指教一下,谢谢
作者: gawk    时间: 2016-2-17 08:39

回复 6# kingbin


    服务的属性里面,最有一个Tab有个依赖。如果里面是空的,那说明该服务不依赖于其它服务。
作者: codegay    时间: 2016-2-17 14:40

状态的切换是需要时间的。停止服务后中间加个ping 延迟一下。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2