windows cmd命令 批处理bat 导增量jar包【原】

下载地址

https://pan.baidu.com/s/1cIyCbG 

导jar包

@echo off
setlocal enabledelayedexpansion
echo --------------------------------导出jar包批处理工具--------------------------------
echo 说明1:请在当前bat文件目录下放置jar_list.txt清单
echo 说明2:根据jar_list.txt将会生成export_file.txt(自动追加相关匿名内部类)
echo 说明3:最终会以export_file.txt为标准执行导出
echo 说明4:成功为[绿色]背景,失败为[红色]背景
echo 即将开始,请输入您的项目名(如policy,nonvhl,finarp,reinsure,isc,vch,claim7,commbase)set /p inputName=
echo !inputName!
set exportJarName=%~n0
set char1=$&set char2=*
set Dyy=%date:~0,4%& set DMM=%date:~5,2%& set Ddd=%date:~8,2%
type nul>export_file.txt
set export_file=%~dp0export_file.txt
echo 重置export_file.txt文件内容
echo 追加export_file.txt文件内容开始
for /f %%a in (jar_list.txt) do (
    Rem echo %%~nxa
    call :count countResult %%~nxa
    set /a countInt=!countResult!*-1
    echo %%~a>>%export_file%
    set name=%%~na
    if %%~xa == ^.class (
        call :length lengthResult %%a !countInt!
        pushd %cd%
        cd %%~da%%~pa
        set pattern=!name!%char1%%char2%%%~xa
        Rem echo !pattern!
        for %%c in (!pattern!) do (
            echo 发现遗漏文件!lengthResult!%%c,已追加到export_file.txt
            echo !lengthResult!%%c>>%export_file%
        )
        popd
    ) else (
        echo ''>nul
    )
)
echo 追加export_file.txt文件内容结束
echo 将以export_file.txt为标准执行jar包导出
jar -cvf !inputName!%Dyy%%DMM%%Ddd%01.jar @%export_file%
if %errorlevel% equ 0 ( 
    echo 导出最终jar包:!inputName!%Dyy%%DMM%%Ddd%01.jar 成功
    color 2f
) else ( 
    echo 导出最终jar包:!inputName!%Dyy%%DMM%%Ddd%01.jar 错误
    color 4f
)

goto exit

:count
set /a num=0
set countArg2=%2
:innercount
if not "%countArg2%"=="" (
    set /a num+=1
    set countArg2=%countArg2:~1%
    goto innercount
)
set %1=%num%
goto :eof

:length
  set lengthArg2=%2
  set lengthArg3=%3
  set o=!lengthArg2:~0,%lengthArg3%!
  Rem echo %2%3!o!
  set %1=!o!
goto :eof

:exit
pause

使用说明

export_jar.bat为打增量jar包批处理工具(可自动追加匿名内部类)

jar_list.txt为文件清单

第一步: 请将export_jar.bat和jar_list.txt放至WEB-INF同级目录下

其中jar_list.txt内容如下,注意WEB-INF前不带/ , 且后缀.java应改成.class

WEB-INF/classes/test/inner/OuterFirstClass.class
WEB-INF/classes/test/inner/OuterSecondClass.class
WEB-INF/classes/test/servlet/DoubleServlet.class
index.html

第二步: 双击export_jar.bat运行,按提示输入项目名如policy

 

最后一步: 成功时将返回绿色背景,失败时显示红色背景

 

其它笔记

日期显示

%Thh: =0% 是因为当小时<10时,需要把前导空格替换成0

@echo off
echo 日期时间
set Dyy=%date:~0,4%& set DMM=%date:~5,2%& set Ddd=%date:~8,2%
set Thh=%TIME:~0,2%& set Tmm=%TIME:~3,2%& set Tss=%TIME:~6,2%
set Thh=%Thh: =0%
set datetime=mydatetime_%Dyy%%DMM%%Ddd%_%Thh%%Tmm%%Tss%.txt
echo %datetime%
pause


原文地址:https://www.cnblogs.com/whatlonelytear/p/7989443.html