当电脑上有多个数据库(特别是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. PHP Redis锁

    一.什么是 Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库 二.什么是 Redis 分布式锁 分布式锁其实可以理解为:控 ...

  2. t-ora issue can't login mysql

    https://github.com/tora-tool/tora/issues/99 ### TOra is an open-source multi-platform database manag ...

  3. 【Unity3D】Tags和Layers

    Tags和Layers分别表示是Unity引擎里面的标签和层,他们都是用来对GameObject进行标识的属性,Tags常用于单个GameObject,Layers常用于一组的GameObject.添 ...

  4. ASP.NET Core模块化前后端分离快速开发框架介绍之4、模块化实现思路

    源码 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin 前 ...

  5. smarty模板引擎之if, elseif else

    Smarty 中的 if 语句和 php 中的 if 语句一样灵活易用,并增加了几个特性以适宜模板引擎. if 必须于 /if 成对出现. 可以使用 else 和 elseif 子句. 可以使用以下条 ...

  6. pat1098. Insertion or Heap Sort (25)

    1098. Insertion or Heap Sort (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  7. 工作经验(C++篇)

    这篇总结是我正式参加工作后,和同事交流学习得出来的,希望对其他人有帮助,也是自己的脚印 C++编程中,常会使用到类,组长给我们的经验是,一个类写在一个文件中,不要多各类写在一个文件 为了跨平台性,一个 ...

  8. Redis Windows环境搭建

    简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制 ...

  9. 本地添加Maven管理

    Maven下载安装: 1 .Maven下载地址:http://maven.apache.org/ 2 .下载解压到本地指定目录:记住该路径! 3 .新建/修改环境变量-系统变量: 名:M2_HOME ...

  10. 二、React中的更新

    创建更新的方式:ReactDOM.render||hydrate 初次渲染,然后是setState.forceUpdate 一.React.render() 步骤:创建ReactRoot.创建Fibe ...