数据库
首页 > 数据库> > 脚本启动sql代理

脚本启动sql代理

作者:互联网

脚本

@echo off&setlocal enabledelayedexpansion
 for /F "tokens=* delims= " %%i in ('sc query state^=inactive^|findstr 代理') do (    
        echo %%i
        set TMPSTR=%%i 
        ECHO !TMPSTR:~13,-1!
        echo net start  "!TMPSTR:~14,-1!"
         net start  "!TMPSTR:~14,-1!"
        )
echo 输入无效请重新输入.
pause>nul

知识点1:赋值必选启用延迟的环境变量扩展  

@echo off&setlocal enabledelayedexpansion

如果启用延迟的环境变量扩展,则可以使用感叹号字符来替代运行时的环境变量值。!TMPSTR!

 

知识点2:遍历的脚本包含符号会被替换  用^    

sc query state^=inactive^|findstr 代理

 

知识点3:BAT批处理中的字符串处理      (参考 https://www.jb51.net/article/52744.htm)

  @echo off

  set ifo=abcdefghijklmnopqrstuvwxyz0123456789

  echo 原字符串(第二行为各字符的序号):

  echo %ifo%

  echo 123456789012345678901234567890123456

  echo 截取前5个字符:

  echo %ifo:~0,5%

  echo 截取最后5个字符:

  echo %ifo:~-5%

  echo 截取第一个到倒数第6个字符:

  echo %ifo:~0,-5%

  echo 从第4个字符开始,截取5个字符:

  echo %ifo:~3,5%

  echo 从倒数第14个字符开始,截取5个字符:

  echo %ifo:~-14,5%

  pause

知识点4:服务的处理

NET START  --当前启动的服务

--Windows服务名称与显示名称
--无论是服务名称还是显示名称,均可用于net stop\start 命令,格式如下: net stop\start SERVICE_NAME net stop\start "DISPLAY_NAME"   --查看服务名称与显示名称对应关系的方法,除了之间在services.msc里查看属性外,还可以通过sc命令查看,如  sc query state= all|findstr "SERVICE_NAME DISPLAY_NAME"
sc query state=inactive|findstr 代理 --筛选服务名称与显示名称包含代理的
 

 

 服务的处理其他命令可参考:https://blog.csdn.net/it1988888/article/details/7992626?locationNum=11

 

标签:脚本,--,代理,echo,sql,5%,net,ifo,个字符
来源: https://www.cnblogs.com/yyl001/p/15789602.html