1. 程式人生 > >bat指令碼自動安裝Jmeter&Jdk

bat指令碼自動安裝Jmeter&Jdk

一句話能解決的事情,絕對不要寫一篇文章;一篇文章能解決的事情,絕對不要使用各種工具;一個工具能解決的事情,絕對不要跑東跑西……

文章主要介紹指令碼如何下載、安裝、配置Jmeter&Jdk。

不多說直接上程式碼,程式碼內已新增各種註釋,相信你能看懂!!!

儲存指令碼內容至bat結尾檔案內,執行即可!!!

echo=1/*>nul&@cls
@echo off 
:: 由於指令碼內使用了bitsadmin下載器,故可能會被做病毒殺掉,若出現此類情況請關閉防毒軟體
:: 指令碼更適合安裝全新環境Jmeter&Jdk,其它環境也做了部分相容,但可能相容不完全
:: 若配置過程中出現下載問題,可手動準備相應工具至tools目錄
:: 此指令碼預設為配置X64 Windows作業系統,若需在32位作業系統配置此環境手動替換連結即可
:: X64檔案下載連結如下:
:: https://eternallybored.org/misc/wget/1.20.3/64/wget.exe
:: https://files.cnblogs.com/files/ldylxy/7z64.zip
:: http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip
:: https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_windows-x64_bin.exe
:: X86檔案下載連結如下:
:: https://eternallybored.org/misc/wget/1.20.3/32/wget.exe
:: https://files.cnblogs.com/files/ldylxy/7z32.zip

set wget=%cd%\tools\wget.exe
set wgetHttp=https://eternallybored.org/misc/wget/1.20.3/64/wget.exe

set zip=%cd%\tools\7z.exe
set zipHttp=https://files.cnblogs.com/files/ldylxy/7z64.zip

set jmeter=%cd%\tools\jmeter.zip
set jmeterHttp=http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip
set jmeterPath=C:\tools\Jmeter
set jmeterEnv=C:\tools\Jmeter\apache-jmeter-5.1.1

set jdk=%cd%\tools\jdk.exe
set jdkHttp=https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_windows-x64_bin.exe
set jdkPath=C:\tools\Java


:cha
:: 前置條件檢查
:: 檢查是否存在wget下載器
:: 檢查是否存在7z命令列版本

cls
title Jmeter自動安裝/環境檢測
if not exist "tools" mkdir "tools"
if not exist %wget% call :bitsDownload %wgetHttp% %wget%
if not exist %wget% echo\  
if not exist %wget% echo\ =======================================
if not exist %wget% echo\  
if not exist %wget% echo wget配置失敗請手動下載並放置於說明目錄內
if not exist %wget% echo\  
if not exist %wget% echo wget下載地址:%wgetHttp%
if not exist %wget% echo\  
if not exist %wget% echo wget安裝路徑:%wget%
if not exist %zip% echo\  
if not exist %zip% echo\  
call :wgetDownload %zipHttp% %zip%

:autoInstall
:: 通過環境變數判斷是否安裝Jmeter&Jdk

cls
title Jmeter自動安裝/自動安裝
if "%JAVA_HOME%"=="" ( 
if "%JMETER_HOME%"=="" ( 
goto installAll
) else (
goto installJdk
)
) else (
if "%JMETER_HOME%"=="" ( 
goto installJmeter
) else (
goto end
)
)

:installAll
:: 下載Jmeter和Jdk
:: 安裝Jmeter和Jdk
:: 設定Jmeter和Jdk環境變數

call :wgetDownload %jmeterHttp% %jmeter%
call :wgetDownload %jdkHttp% %jdk%
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
title Jmeter自動安裝/安裝Jmeter和Jdk
cd /d "%~dp0"
echo.
echo.
echo ***************開始安裝Jmeter***************
echo.
echo 請不要執行其他操作
echo.
echo 安裝過程需要三、四分鐘,請稍等……
echo.
start /WAIT %jdk% /qn INSTALLDIR=%jdkPath%
echo.
echo %zip% x -y -o%jmeterPath% %jmeter%
%zip% x -y -o%jmeterPath% %jmeter%
echo.
echo ***************Jmeter安裝完成***************
echo.
echo.
echo.
echo ***************開始配置Jmeter環境變數***************
echo.
:: 設定JDK環境變數JAVA_HOME
setx JAVA_HOME "%jdkPath%" /M
echo 建立JAVA_HOME變數,新增%jdkPath%
echo.
:: 設定Jmeter環境變數JMETER_HOME
setx JMETER_HOME "%jmeterEnv%" /M
echo 建立JMETER_HOME變數,新增%jmeterEnv%
echo.
:: 設定Jmeter環境變數Path
setx Path "%Path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%%JMETER_HOME%%\bin" /M
echo Path變數內新增%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%%JMETER_HOME%%\bin
echo.
:: 設定Jmeter環境變數CLASSPATH
setx CLASSPATH "%CLASSPATH%;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;%%JMETER_HOME%%\lib\ext\ApacheJMeter_core.jar;%%JMETER_HOME%%\lib\jorphan.jar" /M
echo CLASSPATH變數內新增%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;%%JMETER_HOME%%\lib\ext\ApacheJMeter_core.jar;%%JMETER_HOME%%\lib\jorphan.jar
echo.
echo ***************Jmeter環境變數配置完成***************
echo.
echo.
echo.
goto end

:installJdk
:: 下載Jdk
:: 安裝Jdk
:: 設定Jdk環境變數

call :wgetDownload %jdkHttp% %jdk%
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
title Jmeter自動安裝/安裝Jdk
cd /d "%~dp0"
echo.
echo.
echo ***************開始安裝JDK***************
echo.
echo 請不要執行其他操作
echo.
echo 安裝過程需要三、四分鐘,請稍等……
echo.
start /WAIT %jdk% /qn INSTALLDIR=%jdkPath%
echo.
echo ***************JDK安裝完成***************
echo.
echo.
echo.
echo ***************開始配置JDK環境變數***************
echo.
:: 設定JDK環境變數JAVA_HOME
setx JAVA_HOME "%jdkPath%" /M
echo 建立JAVA_HOME變數,新增%jdkPath%
echo.
:: 設定JDK環境變數Path
setx Path "%Path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin" /M
echo Path變數內新增%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin
echo.
:: 設定JDK環境變數CLASSPATH
setx CLASSPATH "%CLASSPATH%;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /M
echo CLASSPATH變數內新增%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar
echo.
echo ***************JDK環境變數配置完成***************
echo.
echo.
echo.
goto end

:installJmeter
:: 下載Jmeter
:: 安裝Jmeter
:: 設定Jmeter環境變數

call :wgetDownload %jmeterHttp% %jmeter%
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
title Jmeter自動安裝/安裝Jmeter
cd /d "%~dp0"
echo.
echo.
echo ***************開始安裝Jmeter***************
echo.
echo 請不要執行其他操作
echo.
echo 過程很快,請稍等……
echo.
%zip% x -y -o%jmeterPath% %jmeter%
echo.
echo ***************Jmeter安裝完成***************
echo.
echo.
echo.
echo ***************開始配置Jmeter環境變數***************
echo.
:: 設定Jmeter環境變數JMETER_HOME
setx JMETER_HOME "%jmeterEnv%" /M
echo 建立JMETER_HOME變數,新增%jmeterEnv%
echo.
:: 設定Jmeter環境變數Path
setx Path "%Path%;%%JMETER_HOME%%\bin" /M
echo Path變數內新增%%JMETER_HOME%%\bin
echo.
:: 設定Jmeter環境變數CLASSPATH
setx CLASSPATH "%CLASSPATH%;%%JMETER_HOME%%\lib\ext\ApacheJMeter_core.jar;%%JMETER_HOME%%\lib\jorphan.jar" /M
echo CLASSPATH變數內新增%%JMETER_HOME%%\lib\ext\ApacheJMeter_core.jar;%%JMETER_HOME%%\lib\jorphan.jar
echo.
echo ***************Jmeter環境變數配置完成***************
echo.
echo.
echo.
goto end

:bitsDownload
:: bits下載器
:: bits設定優先順序:FOREGROUND、HIGH、NORMAL、LOW

title bitsadmin下載器
for %%a in (%~2) do (
set str=%%~pda
set var=%%~nxa
)
echo.
echo 檔案獲取路徑:%~1
echo.
echo 檔案存放路徑:%str%
echo.
echo 檔名稱:%var%
echo.
bitsadmin /transfer 下載檔案%var% /download /priority FOREGROUND "%~1" "%~2"
goto :eof

:wgetDownload
:: wget下載器
:: wget怎麼用自己腦補

title wget下載器
for %%a in (%~2) do (
set str=%%~pda
set var=%%~nxa
)
echo.
echo 檔案獲取路徑:%~1
echo.
echo 檔案存放路徑:%str%
echo.
echo 檔名稱:%var%
echo.
%wget% --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -c %~1 -O %~2
goto :eof

:end
echo . 
echo ************************************************
echo ***************Jmeter環境配置完成***************
echo ************************************************
pause

&n