bat指令碼批量啟動程式
有些時候我們開發需要固定啟動某些程式,每次電腦開機都需要一次一次的點
現在只需要寫一個bat指令碼就可以實現批量一鍵啟動多個應用,把一下內容儲存到一個bat檔案就好,名字隨意
:::: @echo off 表示在此語句後所有執行的命令都不顯示命令列本身 @echo on
@echo off
REM 宣告採用UTF-8編碼 REM命令是註釋命令
chcp 65001
SET Obj_Length=5
rem 啟動谷歌服務引數
SET Obj[0].path="C:\Users\admin\AppData\Local\Google\Chrome\Application"
SET Obj[0].serverPath="C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome"
SET Obj[0].serverName="chrome"
SET Obj[0].serverTitle="啟動chrome"
rem 啟動Notepad服務引數
SET Obj[1].path="C:\Program Files\Notepad++"
SET Obj[1].serverPath="C:\Program Files\Notepad++\notepad++"
SET Obj[1].serverName="notepad++"
SET Obj[1].serverTitle="啟動notepad++"
rem 啟動Navicat服務引數
SET Obj[2].path="C:\soft\Navicat Premium 12"
SET Obj[2].serverPath="C:\soft\Navicat Premium 12\navicat"
SET Obj[2].serverName="navicat"
SET Obj[2].serverTitle="啟動navicat"
rem 啟動YoudaoNote服務引數
SET Obj[3].path="C:\Program Files (x86)\Youdao\YoudaoNote"
SET Obj[3].serverPath="C:\Program Files (x86)\Youdao\YoudaoNote"
SET Obj[3].serverName="YoudaoNote"
SET Obj[3].serverTitle="啟動YoudaoNote"
rem 啟動IDEA服務引數
SET Obj[4].path="C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin"
SET Obj[4].serverPath="C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin"
SET Obj[4].serverName="idea64"
SET Obj[4].serverTitle="啟動idea64"
rem 延時3秒執行
SET delay_time=3
SET Obj_Index=0
set out_server=0
rem 迴圈便利執行
:LoopStart
IF %Obj_Index% EQU %Obj_Length% GOTO :EOF
SET Obj_Current.path=""
SET Obj_Current.serverPath=""
SET Obj_Current.serverName=""
SET Obj_Current.serverTitle=""
rem 賦值物件裡面的引數到 Obj_Current 內
FOR /F "usebackq delims==. tokens=1-3" %%I IN (`SET Obj[%Obj_Index%]`) DO (
SET Obj_Current.%%J=%%K
)
ECHO path = %Obj_Current.path%
ECHO serverPath = %Obj_Current.serverPath%
ECHO serverName = %Obj_Current.serverName%
ECHO serverTitle = %Obj_Current.serverTitle%
rem 延時函式
timeout /t %delay_time%
set /a out_server=0
echo 延時3秒執行
echo 開始---啟動%Obj_Current.serverName%服務
tasklist|find /i %Obj_Current.serverName% && set /a out_server=1
echo out_server = %out_server%
if %out_server% == 1 (
echo %Obj_Current.serverName% 服務已啟動成功,無需重新啟動
)^
else if exist %Obj_Current.serverPath% (
cd %Obj_Current.path%
start %Obj_Current.serverName%
echo 啟動 %Obj_Current.serverName% 成功
)^
else (
echo 該資料夾下不存在 %Obj_Current.serverName%
)
SET /A Obj_Index=%Obj_Index% + 1
GOTO LoopStart
REM pause 表示不關閉視窗,如果沒有pause 執行完程式碼就關閉cmd視窗
pause
表示服務數量,如果新增啟動程式,這個要記得新增長度
Obj_Length
表示程式在電腦中的安裝路徑
SET Obj[0].path="C:\Users\admin\AppData\Local\Google\Chrome\Application"
表示程式在電腦中的安裝路徑
SET Obj[0].serverPath="C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome"
serverName表示電腦軟體的exe名稱
SET Obj[0].serverName="chrome"
表示啟動程式時候的標題,非必填
SET Obj[0].serverTitle="啟動chrome"
這些都要是更具電腦中實際軟體安裝位置來定義的,視情況而定
是不是很方便!!!!!!!!!!!!!!!!!!
此指令碼僅供參考,有什麼意見或者建議歡迎提問.