zoukankan      html  css  js  c++  java
  • bat 服务启动脚本

      当电脑上有多个数据库(特别是Oracle,占用内存大,所以我都是设置为手动启动的,或者想在电脑上运行一下其他UI类软件或玩些游戏的时候也需要暂时关掉,奈何我这渣机(V_V))需要启动或停止的时候,就用不着每次都启动服务管理器,再去找需要关闭的服务再点击操作了。使用bat语言的net start 或 net stop 即可操作服务的启动或停止,我的脚本如下:

      


      

    @echo off
    ::以管理员的身份开始执行文件
    cd /d %~dp0
    %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit 
    
    ::如果判断为真goto跳转到这里继续执行操作。
    :r
    
    ::set 的/p参数可以使变量var接收输入数据
    set /p var=请选择需要的操作(启动服务(y)/停止服务(n))
    set /p no=请选择需要操作的服务(erp1(e)/Orcl1(o)/监听(j)/所有服务(a))
    
    ::bat里我没找到与运算符,就用if的嵌套实现吧
    if %var%==y  if %no%==o net start OracleServiceOrcl1
    
    if %var%==n  if %no%==o net stop OracleServiceOrcl1
    
    if %var%==y  if %no%==e net start OracleServiceERP1
    
    if %var%==n  if %no%==e net stop OracleServiceERP1
    
    if %var%==y  if %no%==j net start OracleOraDb11g_home1TNSListener
    
    if %var%==n  if %no%==j net stop OracleOraDb11g_home1TNSListener
    
    if %var%==y  if %no%==a (net start OracleServiceERP1
     net start OracleServiceOrcl1
     net start OracleOraDb11g_home1TNSListener)
    
    if %var%==n  if %no%==a (net stop OracleServiceERP1
    net stop OracleServiceOrcl1
    net stop OracleOraDb11g_home1TNSListener)
    
    ::choice 的/c 参数允许用户从选择列表选择一个项目并返回所选项目的索引,默认为"YN",所以实际我这里YN是可以不要的,当然也可以自己定义,/M 参数可以指定提示信息。
    %errorlevel%为errorlevel环境变量的引用,在choice中该变量列出的第一个选 择返回 1,第二个选择返回 2,等等。 choice /c YN /M "继续请按 Y,退出请按 N" if %errorlevel%==1 (goto r) else (exit)

    :: 后面的内容为注释部分,不会被执行。在脚本中我已经对一些内容进行了注解,实际上cmd的帮助文档是很好了的,比如在cmd窗口中输入 if /? 、 choice /?就可以看到对应命令的比较详细的讲解了。

    代码让生活更简单,在此作个学习记录和分享。。。

  • 相关阅读:
    ST表学习笔记
    LCA学习笔记
    $ZOJ 2432 Greatest Common Increasing Subsequence$
    $SP15637 GNYR04H - Mr Youngs Picture Permutations$
    Noip2016换教室
    洛谷4718【模板】Pollard-Rho算法
    CQOI2016 密钥破解
    Poj3696 The Lukiest Number
    Noip2012同余方程
    同余
  • 原文地址:https://www.cnblogs.com/lightsrs/p/7997668.html
Copyright © 2011-2022 走看看