[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

新手请教,解析下列代码意思,谢谢

本帖最后由 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
1

评分人数

TOP

本帖最后由 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标签的代码区域↑
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

判断 ShellHWDetection 这个服务的状态。
如果该服务处于运行状态,就把它停掉;否则就把它启动。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

[系统相关] 指定服务无法用批处理启动如何解决?谢谢

  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
复制代码
新手开始请多指教

回复 1# kingbin


    有些服务启动有前置要求,看提示先把前置的服务启动了
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

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

回复 5# ivor
请问怎样看前置要求,是看服务程序的属性?但没提示到什么内容有关是需要启动哪个服务程序!这代码不是我写的,是网上找的,然后添加几个命令的,请指教一下,谢谢
新手开始请多指教

TOP

回复 6# kingbin


    服务的属性里面,最有一个Tab有个依赖。如果里面是空的,那说明该服务不依赖于其它服务。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

状态的切换是需要时间的。停止服务后中间加个ping 延迟一下。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表