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"

祝你編程愉快!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM