windows使用.bat文件批量执行任务

问题

在win环境下, 考虑到这样的场景, 需要运行许多中间件和工具, 比如redis、elasticsearch、rabbitMQ等(当然, docker了解一下), 这就使得每次开始就要打开控制台分别开启各个服务, 十分麻烦, 我就寻思着是否可以用.bat批量一次性执行所有任务

解决

创建文本文档, 把后缀改为.bat文件类型
贴一下我的.bat文件

@echo off

::获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

::cd到当前批处理文件所在目录
cd /d "%~dp0"

echo "启动redis"
start wt.exe D:\redis\Redis-x64-3.2.100\redis-server.exe D:\redis\Redis-x64-3.2.100\redis.windows.conf

echo "启动elasticsearch"
start wt.exe D:\elasticsearch\elasticsearch-6.2.2\bin\elasticsearch.bat

echo "启动kibana"
start wt.exe D:\elasticsearch\kibana-6.2.2-windows-x86_64\bin\kibana.bat

echo "启动MYSQL57服务"
start wt.exe net start MYSQL57

echo "启动MongoDB服务"
start wt.exe net start MongoDB

echo "启动rabbitMQ"



因为我的mysql服务需要管理员权限, 所以想启动mysql服务就必须获取管理员权限, 当然你也可以设置把mysql和mongoDB服务一直开着。

MYSQL57和MongoDB服务名是通过服务知道的


图1

根据你自己的情况改写.bat文件, 没问题之后双击运行.bat


图2 运行批处理文件

瞬间开启n个控制台执行任务
我使用的是windows terminal窗口来运行, 如果你没有安装windows terminal那你就out了, 当然你也可以把wt.exe去掉, 用自带的控制台执行

@echo off
::获取管理员权限
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
::保持当前目录下运行
cd /d "%~dp0"

echo "启动MYSQL57服务"
start net start MYSQL57

echo "启动redis"
start D:\redis\Redis-x64-3.2.100\redis-server.exe D:\redis\Redis-x64-3.2.100\redis.windows.conf

echo "启动elasticsearch"
start D:\elasticsearch\elasticsearch-6.2.2\bin\elasticsearch.bat

echo "启动kibana"
start D:\elasticsearch\kibana-6.2.2-windows-x86_64\bin\kibana.bat

echo "启动MongoDB服务"
start net start MongoDB

echo "启动rabbitMQ"

祝你编程愉快!

posted @ 2020-06-26 17:00  FuKai  阅读(2864)  评论(0编辑  收藏  举报