如何使用windows bat編寫一個快速啓動工具

最近做畢設的時候發現每次都需要輸入命令啓動mongo和redis,還有一些爬蟲和後臺接口。感覺很麻煩,爲什麼不用windows上類似shell的bat語法寫一個部署工具呢?

截圖

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

注:圖中所用軟件爲醜陋cmd的替換品 cmder

不多多說了,直接上代碼吧,bat語法大家可以自己搜索下。

主進程 start.bat

@echo off
echo 歡迎使用FollowHeart自動化工具,%username% ....
echo 使用之前請確保mongo和redis安裝地址都已經加入到到了系統環境變量裏
ECHO.
:: 公共參數設置 start
If %username% == Andyliwr (
  :: 記得改成ANDYLIWRTHS
  echo %computername%
  If %computername% == ANDYLIWRTHS ( 
     set projectAddr=C:\Users\Andyliwr\Documents\graduationDesign
     set mongoDbPath=D:\mongo\data
     set mongoLogPath=D:\mongo\log\mongo.log
     set mongoConfAddr=D:\mongo\mongod.conf
     set redisConfAddr=D:\redis\redis.windows.conf
  ) Else (
     set projectAddr=C:\Users\Andyliwr\Documents\graduationDesign
     set mongoDbPath=E:\mongo_install\data
     set mongoLogPath=E:\mongo_install\log\mongo.log
     set mongoConfAddr=E:\mongo_install\mongod.conf
     set redisConfAddr=E:\redis\redis.windows.conf
  )
) Else (
  If %username% == Greenovia (
     set projectAddr=G:\git項目\graduationDesign
     set mongoDbPath=F:\mongo\data
     set mongoLogPath=F:\mongo\log\mongo.log
     set mongoConfAddr=F:\mongo\mongod.conf
     set redisConfAddr=F:\redis\redis.windows.conf
  ) Else (
     echo 請使用文本編輯器打開start.bar手動配置地址:
     :: 請輸入你當前的FollowHeart根目錄地址:
     set projectAddr=xxx
     :: 請輸入mongo數據存儲地址(類似F:\mongo\data):
     set mongoDbPath=xxx
     :: 請輸入mongo日誌文件地址(類似F:\mongo\log\mongo.log):
     set mongoLogPath=xxx
     :: 請輸入mongo配置文件的地址(類似F:\mongo\mongod.conf):
     set mongoConfAddr=xxx
     :: 請輸入mongo配置文件的地址(類似F:\redis\redis.windows.conf):
     set redisConfAddr=xxx
  )
)
:: 公共參數設置 end
::清屏操作
rem cls
goto start
:start
    echo --------------------------------------------------
    echo --                FollowHeart部署               --
    echo --  1.啓動mongo和redis                          --
    echo --  2.啓動接口                                  --
    echo --  3.排行榜爬蟲                                --
    echo --  4.百度貼吧榜爬蟲                            --
    echo --  5.啓動微信小城程序                          --
    echo --  6.新環境部署(該選項操作完成後會自動部署)    --
    echo --  7.END                                       --
    echo --------------------------------------------------
    ECHO.
    echo (請輸入數字選擇操作命令)
    set /p ans=                   
    if %ans%==1 goto startMongoAndRedis
    if %ans%==2 goto startApi
    if %ans%==3 goto startRankReptile
    if %ans%==4 goto startBdReptile
    if %ans%==5 goto startWechat
    if %ans%==6 goto deploy
    if %ans%==7 goto END
:startMongoAndRedis
    echo echo 正在啓動redis和mongo...
    start "啓動mongo和redis" startMongoAndRedis.bat %redisConfAddr% %mongoLogPath% %mongoDbPath%
    echo echo 已經啓動redis和mongo...
    ECHO.
    ECHO.
    goto start
:startApi
    ECHO.
    echo 正在啓動後端接口,請確保在啓動接口之前已經執行過1了...
    start "啓動後端接口" startApi.bat %projectAddr%
    echo 後端接口啓動成功...
    ECHO.
    ECHO.
    goto start
:startBdReptile
    ECHO.
    echo 正在運行百度貼吧爬蟲...
    start "啓動百度貼吧爬蟲" startBdReptile.bat %projectAddr%
    ECHO.
    ECHO.
    goto start
:startRankReptile
    ECHO.
    echo 正在運行排行榜爬蟲...
    start "啓動百度貼吧爬蟲" startRankReptile.bat %projectAddr%
    ECHO.
    ECHO.
    goto start
:startWechat
    ECHO.
    echo 正在啓動微信小程序...
   start "啓動微信小程序" startWechat.bat %projectAddr%
    ECHO.
    ECHO.
    goto start
:deploy
    ECHO.
    echo ----執行static項目解壓操作----
    :: 執行的邏輯命令--爲bat文件傳參
    start static.bat %uatPath% %sourcePath% %sourceDisk%
    echo ----static項目解壓操作完成----
    goto start
:END
    ECHO.
    echo 退出批處理操作
pause

啓動redis和mongo startMongoAndRedis.bat

@echo off
echo echo 正在啓動redis...
set redisConfAddr=%1
set mongoLogPath=%2
set mongoDbPath=%3
redis-server.exe %redisConfAddr% --loglevel verbose
If errorlevel 1 (
    echo Redis已經啓動,請打開新的窗口輸入redis-cli.exe開啓你的管理吧...
) Else (
    echo Redis啓動失敗,請檢查你配置的目錄是否正確...
)
ECHO.
echo 正在啓動Mongo...
mongod.exe --logpath=%mongoLogPath% --dbpath=%mongoDbPath% --journal --maxConns 20000
echo %errorlevel%
If errorlevel 1 (
    echo Mongo已經啓動,請打開新的窗口輸入mongo開啓你的管理吧...
) Else (
    echo Mongo啓動失敗,請檢查你配置的目錄是否正確...
)

啓動後端接口 startApi

@echo off
set projectAddr=%1
echo 正在啓動後端接口,請確保在啓動接口之前已經執行過1...
cd %projectAddr%/api
If exist node_modules (
   echo "node包已安裝..."
) Else (
    cnpm install
)
node .
If errorlevel 1 (
    echo 後端接口已經啓動,請在瀏覽器中打開localhost:3000/explorer來查看吧...
) Else (
    echo 後端接口啓動失敗...
)

啓動爬蟲 startBdReptile.bat

@echo off
set projectAddr=%1
echo 正在運行百度貼吧爬蟲...
cd %projectAddr%/reptile
If exist node_modules (
   echo node包已安裝...
) Else (
   cnpm install
)
node networkReptile.js

踩的一些坑

創建bat文件最好先使用系統自帶的記事本創建一個文本文件,然後在另存爲bat文件,並且設置編碼爲ASNI,不然很容易中文亂碼的。包括使用一些主流的編輯器如sublime都會出現這種問題。博主建議使用sublime編輯bat文件,畢竟有語法高亮和快捷鍵,寫起來很方便。然後編寫完了別保存直接複製到記事本中保存,這樣能避免中文亂碼。如果你有更好的方法,不妨在評論中回覆博主。
這裏寫圖片描述

傳送門:

  1. 小白都能看懂的windows常用bat批處理命令
  2. Bat語法命令
發佈了59 篇原創文章 · 獲贊 80 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章