bat 服务启动脚本

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

  


  

@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 /?就能够看到对应命令的比较详细的讲解了。数据库

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

相关文章
相关标签/搜索