博客 / 詳情

返回

效能工具之批處理文件.bat/.cmd在工作中的應用(四)《以多項目啓動為例》

概念的東西,先簡單過一下,留個印象,主要是文章後方的項目中的應用

什麼是批處理文件

  • 批處理文件是指文件後綴名是.bat.cmd的文件
  • 批處理文件中可以去編寫很多命令,用於給電腦自動執行
  • 觸發條件就是雙擊這個.bat.cmd文件 即會自動執行文件中的命令,從而實現我們想要的效果
  • 批量處理一些命令——即為:批處理文件
  • 就前端而言,我們常常會在vscode的終端去執行一些命令
  • 或者git的bash命令,基本一個意思
若是對於批處理命令不太熟悉的,可以看看這篇命令的總結:https://zhuanlan.zhihu.com/p/54572985

.bat和.cmd批處理文件有什麼區別

  • 先有的.bat,後有的.cmd(歷史發展問題)
  • 二者基本上是一樣的
  • 就相當於word文檔中的.doc.docx的區別
  • 二者都可以在windows系統(古老的dos也行)直接運行的

長相如下圖:

編寫批處理文件的話,可以直接使用電腦自帶的文本文檔,寫完以後,直接改文件後綴名即可。

那麼,批處理文件有哪些應用呢?舉幾個例子,請繼續往下看...

應用場景一:一鍵啓動多個軟件

  • 我們每天去上班,第一件事就要打開各種工作軟件,少則五六個,多則十幾個,比如:
  • 要分別雙擊去打開釘釘、飛書、微信、谷歌火狐Edge瀏覽器、等...
  • 雙擊操作要執行多次
  • 針對這種情況,我們就可以編寫一個簡單的.bat文件
  • 在開機以後,只要雙擊這個.bat,就會自動打開工作中需要使用的軟件
  • 做到雙擊一次,可以打開多個軟件,減少雙擊次數

在這裏補充幾個前置知識。

什麼是電腦桌面快捷方式

通俗理解

  • 快捷方式是一個軟件程序啓動入口(後綴名為.lnk的文件),相當於一個地址鏈接
  • 這個鏈接指向電腦軟件安裝路徑目錄的.exe文件
  • .exe文件就是executable file,也就是可執行文件,雙擊就可以打開這個軟件了,以谷歌瀏覽器為例如下截圖:

  • 如上圖雙擊chrome.exe文件,就會自動打開谷歌瀏覽器
  • 實際上雙擊桌面的chrome瀏覽器快捷方式,就是雙擊這個chrome.exe文件
  • 具體我們可以桌面選中一個快捷方式(我們也可以發送此exe文件到桌面作為快捷方式),並右鍵,查看屬性即可瞭然,如下圖:

編寫啓動多個軟件的批處理命令

上述是雙擊桌面快捷方式啓動軟件,我們可以使用批處理命令去啓動軟件,比如我們要在批處理文件中啓動谷歌瀏覽器,可以使用start命令:

start "" "C:\Program Files\Google\Chrome\Application\chrome.exe"
即為start命令接收一些參數,其中要告知其需要 啓動的程序的路徑,這樣的話,就可以啓動想要啓動的軟件了。

比如,我們在開機後,要啓動 釘釘、微信、谷歌瀏覽器、Edge瀏覽器、火狐瀏覽器,那麼我們就可以,使用txt編寫批處理文件,如下命令代碼:

start "" "D:\Program Files (x86)\DingDing\DingtalkLauncher.exe"
start "" "D:\Program Files\Tencent\WeChat\WeChat.exe"
start "" "C:\Program Files\Google\Chrome\Application\chrome.exe"
start "" "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
start "" "C:\Program Files\Mozilla Firefox\firefox.exe"

保存以後,再手動修改文件後綴名為 .bat 或者 .cmd 然後雙擊就行了

應用場景二:一鍵啓動多個vscode代碼項目

  • 工作中,前端常常要使用vscode啓動多個代碼項目
  • 正常我們都是要找到對應的代碼文件夾,然後使用vscode打開
  • 換句話説,還是要多點擊幾次,那麼我們依然能夠使用批處理文件,直接打開,讓我們少點擊幾次

前置知識 命令提示符黑窗口中的code命令(vscode自帶的快捷命令)

  • code命令是安裝vscode後其提供的
  • 意思就是在命令行中執行此命令,即可調用vscode打開文件夾或者文件
  • 常用命令:

命令 code .

圖示如下:

另有命令:code xxx ,如下:

// 執行命令 code xxx ,xxx可以是文件,或者是文件夾

code index.html // 使用vscode打開當前目錄的index.html文件
code dist // 使用vscode打開當前目錄的dist文件夾

code命令搭配批處理文件命令打開項目代碼

  • 假設我有兩個前端代碼項目需要啓動
  • 這兩個代碼文件夾分別在這兩個地方:
  • D:\study\v3_titeD:\study\RuoYi-Vue
  • 那麼編寫一個bat批處理文件,雙擊即可直接打開這兩個項目了,如下代碼
@echo off

REM 打開第一個代碼項目
start /B code D:\study\v3_tite

REM 打開第二個代碼項目
start /B code D:\study\RuoYi-Vue

echo let's coding...

應用場景三:編寫一個nginx自動執行腳本用於reload

  • 假設我們的服務器是windows系統的,每次打包dist文件夾後,丟到對應服務器nginx配置的目錄
  • 發佈完畢以後,我們需要重啓一下nginx
  • 正常的話,我們執行nginx -s reload命令
  • 同樣的,我們可以編寫一個批處理文件,通過輸入1,2,3,4交互的方式來控制nginx
  • 這樣也能夠提升效率,效果圖如下:

代碼:

cls 
@ECHO OFF 
SET NGINX_PATH=C:
SET NGINX_DIR=C:\nginx-1.18.0\

TITLE Nginx 批處理
GOTO OPTION 
:OPTION 
CLS 
ECHO. 
ECHO. * * * *  Nginx 批處理管理程序 * * * * * 
ECHO. * * 
ECHO. * 1 啓動Nginx * 
ECHO. * * 
ECHO. * 2 關閉Nginx * 
ECHO. * * 
ECHO. * 3 重啓Nginx * 
ECHO. * * 
ECHO. * 4 退出命令行黑窗口* 
ECHO. * * 
ECHO. * * * * * * * * * * * * * * * * * * * 
ECHO. 
ECHO.請輸入選擇項目的序號: 
set /p ID= 
IF "%id%"=="1" GOTO cmd1 
IF "%id%"=="2" GOTO cmd2 
IF "%id%"=="3" GOTO cmd3 
IF "%id%"=="4" EXIT 
PAUSE 
:cmd1 
ECHO. 
ECHO.啓動Nginx...... 
IF NOT EXIST %NGINX_DIR%nginx.exe ECHO %NGINX_DIR%nginx.exe不存在 
%NGINX_PATH% 
cd %NGINX_DIR% 
IF EXIST %NGINX_DIR%nginx.exe start %NGINX_DIR%nginx.exe 
ECHO.OK 
PAUSE 
GOTO OPTION 
:cmd2 
ECHO. 
ECHO.關閉Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
PAUSE 
GOTO OPTION 
:cmd3 
ECHO. 
ECHO.關閉Nginx...... 
taskkill /F /IM nginx.exe > nul 
ECHO.OK 
GOTO cmd1 
GOTO OPTION
注意,上述有兩個變量,即為:SET NGINX_PATH=C:
SET NGINX_DIR=C:\nginx-1.18.0\ 大家可以將其替換成自己服務器上nginx安裝目錄即可使用

總結

  • 批處理文件很強大
  • 合理使用,能做很多有意思的事情...
若是對於批處理命令不太熟悉的,可以看看這篇命令的總結:https://zhuanlan.zhihu.com/p/54572985
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.