使用批處理安裝jar服務

@@@code

@echo off

rem 請修改下面的服務名後保存,並以管理員身份再次運行

set serviceName=testjar

 

 

echo 請輸入 1 安裝 2 啓動服務 5 停止服務 6 卸載 88 退出

set /p input=

 

if '%input%'=='1' (

    goto install

) else (

if '%input%'=='2' (

     sc start %serviceName%

     sc failure %serviceName% reset= 30 actions= restart/5000

) else (

if '%input%'=='5' (

     sc stop %serviceName%

) else (

     if '%input%'=='6' (

     sc delete %serviceName%

         )

     )

    )

)

)

pause

exit

:install

 

set cp=%~dp0

cd /d %~dp0

set jarfile=

FOR %%f in (*.jar) DO set jarfile=%~dp0%%f

if '%jarfile%'=='' (

    echo 未發現jar文件

    pause

    exit

)

echo 發現 %jarfile% ,將爲其安裝服務 %serviceName%

pause

 

 

@echo off & setlocal enabledelayedexpansion

 

 

set text1=tpl.xml

 

set text2=%serviceName%.tmp

set text3=%serviceName%.xml

set var1=servicename

set var2=%serviceName%

 

 

 

rem set var2=%cp:\=/%

 

echo %var1%

echo %var2%

del %text2% -y

del %text3% -y

 

chcp 65001

for /f "tokens=*" %%i in (%text1%) do (

if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)

)>>%text2%

 

set var1=test.jar

set var2=%jarfile:\=/%

for /f "tokens=*" %%i in (%text2%) do (

if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)

)>>%text3%

 

del %text2% -y

chcp 936

 

echo 安裝服務

copy /y tpl.exe %serviceName%.exe

cmd /c %serviceName%.exe install

rem net start %serviceName%

echo 添加守護任務計劃

schtasks /delete /f /tn "%serviceName%dog"

schtasks /create /f /tn "%serviceName%dog" /tr "cmd /c sc start %serviceName%" /sc MINUTE /MO 15

pause

exit

 

:chg

set "line=!line:%var1%=%var2%!"

echo !line!

goto :eof

 

@@#

 

Tpl.xml內容

@@@code

<configuration>

<id>servicename</id>

<name>servicename</name>

<description>servicename</description>

 

<env name="JAVA_HOME" value="%JAVA_HOME%"/>

<executable>java</executable>

<arguments>-jar "test.jar"</arguments>

 

<startmode>Automatic</startmode>

 

<logpath>%BASE%\log</logpath>

<logmode>rotate</logmode>

</configuration>

@@#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章