概念的東西,先簡單過一下,留個印象,主要是文章後方的項目中的應用
什麼是批處理文件
- 批處理文件是指文件後綴名是
.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_tite和D:\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