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

  


  

@echo off
::以管理员的身份开始执行文件
cd /d %~dp0
% start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",)(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中该变量列出的第一个选
择返回 ,第二个选择返回 ,等等。
choice /c YN /M "继续请按 Y,退出请按 N"
if %errorlevel%== (goto r) else (exit)

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

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

bat 服务启动脚本的更多相关文章

  1. logstash服务启动脚本

    logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...

  2. 自己编写服务启动脚本(一):functions文件详细分析和说明

    本文目录: 1.几个显示函数2.action函数3.is_true和is_false函数4.confirm函数5.pid检测相关函数 5.1 checkpid.__pids_var_run和__pid ...

  3. centos6服务启动脚本及开机启动过程

    centos6服务启动脚本 centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接: centos6的服务启动脚本 ...

  4. [shell脚本] mysql服务启动脚本

    服务启动脚本(初始化.启动.登录) #!/bin/bash export PID=/usr/local/nestdb_master/bin/mysqld export PASSWORD=123456 ...

  5. Nginx的编译安装及服务启动脚本

    1.解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries".同时,还需 ...

  6. linux下服务启动脚本

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @File : deployment.py# @Author: Anthony.waa# @Date : 2 ...

  7. LVS Director端服务启动脚本

    #!/bin/bash # 手动安装lpvs前端管理工具 # chkconfig: - # # lvs启动脚本:director # lvs模式类型:nat.dr.ipip # lvs代理协议:tcp ...

  8. php-fpm服务启动脚本

    在php-fpm还是打补丁的时候,php-fpm重启只需要执行php-fpm restart或者reload, 自从php5.3之后,php-fpm的启动和停止显得比较麻烦,特意改写了一份nginx的 ...

  9. 15:开发Rsync服务启动脚本案例

    [root@m01 ~]# rsn_count="ps -ef|grep 'rsync --d[a]emon'|wc -l" [root@m01 ~]# echo ${rsn_co ...

随机推荐

  1. Docker从入门到实战(二)

    Docker从入门到实战(二) 一:什么是docker Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的Linux.MacOS.Windo ...

  2. Matrix Power Series POJ - 3233 矩阵幂次之和。

    矩阵幂次之和. 自己想着想着就想到了一个解法,但是还没提交,因为POJ崩了,做了一个FIB的前n项和,也是用了这个方法,AC了,相信是可以得. 提交了,是AC的 http://poj.org/prob ...

  3. Java修饰符/关键字

    修饰符分类: 权限修饰符:public.protected.default.private 其他修饰符:abstract.static.final.transient.volatile.native. ...

  4. Java学习笔记--关于面向对象的思考

    1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创 ...

  5. 《C#高效编程》读书笔记06-理解几个等同性判断之间的关系

    当创建自定义类型时(无论是class还是struct),应为类型定义"等同性"的含义.C#提供了4种不同的函数来判断两个对象是否"相等": public sta ...

  6. 利用XML序列化和Asp.Net Web缓存实现站点配置文件

    我们经常会遇到这样的场景: 今天来了个业务,需要加一个字段,但是考虑的以后可能有变动,需要配成“活”的. 一般最初的做法就是加一个配置到Web.Config文件的AppSettings中去.但是这样有 ...

  7. websocket的加密和解密

    补充个小知识点:按位与运算 按位与运算是同位都为1才为1,有一个不为1就是0 websocket_hand import socket, base64, hashlib import websocke ...

  8. cf1051F. The Shortest Statement(最短路)

    题意 题目链接 题意:给出一张无向图,每次询问两点之间的最短路,满足$m - n <= 20$ $n, m, q \leqslant 10^5$ Sol 非常好的一道题. 首先建出一个dfs树. ...

  9. 为什么要使用Vuex?

    为什么要使用Vuex? 1. 假如不使用 1.1 父子组件依赖同一个state 1.2 兄弟组件依赖同一个state 2. 用了Vuex之后 3. 方便记忆和理解

  10. 分享几道经典的javascript面试题

    这几道题目还是有一点意思的,大家可以研究一番,对自己的技能提升绝对有帮助. 1.调用过程中输出的内容是什么 function fun(n, o) { console.log(o); return { ...