問題
在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"
祝你編程愉快!