有些時候我們開發需要固定啟動某些程序,每次電腦開機都需要一次一次的點
現在只需要寫一個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"
這些都要是更具電腦中實際軟件安裝位置來定義的,視情況而定
是不是很方便!!!!!!!!!!!!!!!!!!
此腳本僅供參考,有什么意見或者建議歡迎提問.
因為每個軟件的名稱不一樣,會有很多莫名其妙的事情發生,最好每個軟件都單獨寫一個啟動腳本,所以可以這么寫
:::: @echo off 表示在此語句后所有運行的命令都不顯示命令行本身 @echo on @echo off REM 聲明采用UTF-8編碼 REM命令是注釋命令 chcp 65001 echo 開始---啟動谷歌服務 rem 判斷服務是否已經啟動 set out_server=0 tasklist|find /i "chrome.exe" && set /a out_server=1 echo out_server = %out_server% if %out_server% == 1 ( echo chrome 服務已啟動成功,無需重新啟動 )^ else if exist C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome.exe ( start C:\Users\admin\AppData\Local\Google\Chrome\Application\chrome.exe http://www.baidu.com echo 啟動 chrome 成功 )^ else ( echo 該文件夾下不存在 chrome ) set /a out_server=0 timeout /t 3 echo 延時3秒執行 echo 開始---啟動notepad++ 服務 tasklist|find /i "notepad++.exe" && set /a out_server=1 echo out_server = %out_server% if %out_server% == 1 ( echo notepad++ 服務已啟動成功,無需重新啟動 )^ else if exist "C:\Program Files\Notepad++\notepad++.exe" ( cd C:\Program Files\Notepad++ start notepad++ echo 啟動 notepad 成功 )^ else ( echo 該文件夾下不存在 notepad ) set /a out_server=0 timeout /t 3 echo 延時3秒執行 echo 開始---啟動Navicat 服務 tasklist|find /i "navicat" && set /a out_server=1 echo out_server = %out_server% if %out_server% == 1 ( echo navicat 服務已啟動成功,無需重新啟動 )^ else if exist "C:\soft\Navicat Premium 12\navicat.exe" ( cd C:\soft\Navicat Premium 12 start navicat echo 啟動 navicat 成功 )^ else ( echo 該文件夾下不存在 navicat ) set /a out_server=0 timeout /t 3 echo 延時3秒執行 echo 開始---啟動 YoudaoNote 有道雲筆記 服務 tasklist|find /i "YoudaoNote" && set /a out_server=1 echo out_server=%out_server% pause if %out_server% == 1 ( echo YoudaoNote 服務已啟動成功,無需重新啟動 )^ else if exist C:\Program Files (x86)\Youdao\YoudaoNote ( cd C:\Program Files (x86)\Youdao\YoudaoNote start YoudaoNote echo 啟動 YoudaoNote 有道雲筆記 成功 )^ else ( echo 該文件夾下不存在 YoudaoNote 有道雲筆記 ) set /a out_server=0 timeout /t 3 echo 延時3秒執行 echo 開始---啟動IntelliJ 服務 tasklist|find /i "idea64" && set /a out_server=1 echo out_server = %out_server% if %out_server% == 1 ( echo idea64 服務已啟動成功,無需重新啟動 )^ else if exist C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin ( cd C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin start idea64 echo 啟動 idea 成功 )^ else ( echo 該文件夾下不存在 idea64 ) REM pause 表示不關閉窗口,如果沒有pause 執行完代碼就關閉cmd窗口 echo 所有啟動成功 ::::exit pause