压缩zip的命令有的系统没有的自己去下载一个,否则关闭压缩zip的命令。

有需要的自行更改,这是满足我需求的。

执行 publish.bat 即可,当然需要将文件清单写好放在 resources.txt中。

@REM author:莫大人 date:20160118
@echo off
ECHO =================增量打包工具=================
ECHO 作者:莫大人 20160118
setlocal enabledelayedexpansion
@REM 工程编译目录
@REM iTreasuryEJB
SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryEJB.jar
@REM
SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryEJB.jar @REM iTreasuryWEB.war\WEB-INF SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\WEB-INF
@REM SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\WEB-INF @REM iTreasuryWEB.war\iTreasury-settlement SET PROJECT_HOME=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\iTreasury-settlement\
@REM SET PROJECT_HOME_TMP=E:\installFile\rt\jboss-4.0.5.GA\server\default\deploy\ear.ear\iTreasuryWEB.war\iTreasury-settlement\ echo 工程编译目录 %PROJECT_HOME%
@REM 资源文件
SET RESOURCE_FILE=resource.txt
echo 资源文件 %RESOURCE_FILE%
@REM 备份文件夹
SET BACKUP=BACKUP
@REM 是否压缩开关 1 开 0 关
SET ZIP_CMD=0
@REM 当前目录
SET CURRENT_DIR=%cd%
echo 当前目录 %CURRENT_DIR%
@REM 目标目录
SET TARGET_PATH=%CURRENT_DIR%\%BACKUP%
@REM 清除缓存
IF EXIST %TARGET_PATH% RMDIR /S /Q %TARGET_PATH%
IF EXIST %CURRENT_DIR%\Project.zip DEL %CURRENT_DIR%\Project.zip
@REM 判断是否存在资源文件,不存在创建一个并提示
IF NOT EXIST %CURRENT_DIR%\%RESOURCE_FILE% (@ECHO ###第一行不做处理 请将需要打包的文件目录拷到此处如 \classes\com\midea\account\service\AccountService.class>%RESOURCE_FILE%&&goto :eof)
IF NOT EXIST %TARGET_PATH% MKDIR %TARGET_PATH%
@REM 循环查询资源文件中的文件,存在则复制(保持目录结构),输出日志到 stdout.log
ECHO %date% ====================增量打包日志输出开始====================>>stdout.log
@REM CLASS 添加 \WEB-INF 之后复制
@REM for /f "skip=1 tokens=1,* delims=:" %i in ('findstr /s /e "class" %RESOURCE_FILE%') do (call :copyFile \WEB-INF%%j)
for /f "skip=1" %%i in (%RESOURCE_FILE%) do (call :copyFile %%i)
ECHO %date% ====================增量打包日志输出结束====================>>stdout.log
@REM 打包,如果增量文件为空那么不压缩
DIR /B %TARGET_PATH%|FINDSTR .*>nul&&(@ECHO 存在资源文件)||(@ECHO 不存在资源文件>>stdout.log&&goto :eof)
cd %TARGET_PATH%
mkdir WEB-INF
if exist classes move classes WEB-INF
IF %ZIP_CMD% EQU 1 (call :toZip)
ECHO =================增量打包结束=================
PAUSE
goto :eof @REM 复制
:copyFile
@REM 源文件
SET SRC_FILE=%PROJECT_HOME_TMP%%1%
@REM 目标文件
SET TARGET_FILE=%TARGET_PATH%%1%
@REM ECHO 假设源文件在%SRC_FILE%>>stdout.log
@REM 如果源文件为空那么不复制,并提示
IF "%SRC_FILE%"=="" (ECHO %SRC_FILE% 不存在,请将增量文件列表写入 %RESOURCE_FILE%>>stdout.log&&goto :eof)
@REM 判断源文件是否存在,不存在则记录 stdout.log
@REM 一定要使用ECHO OFF和ECHO ON,因为这两个可以让系统对期间的代码进行整块操作,还有就是需要主要,IF判断的括号一定要写在IF的这行中。
IF NOT EXIST %SRC_FILE% (
SET SRC_FILE=%PROJECT_HOME%%1%
SET TARGET_FILE=%TARGET_PATH%/WEB-INF/%1%
)
@REM ECHO 修正后的源文件为%SRC_FILE%>>stdout.log
IF NOT EXIST %SRC_FILE% (ECHO 找不到资源 %SRC_FILE% >>stdout.log&&goto :eof) @REM 目标文件目录
for %%a in (%TARGET_FILE%) do SET TARGET_TEMP=%%~dpa
@REM 目标文件目录是否存在,不存在则创建
IF NOT EXIST %TARGET_TEMP% MKDIR %TARGET_TEMP%
@REM 复制文件开始
COPY /y %SRC_FILE% %TARGET_TEMP%
goto :eof @REM 打包
:toZip
cd %TARGET_PATH%
zip -qr %CURRENT_DIR%\Project.zip *
goto :eof

增量打包DOC版的更多相关文章

  1. [Android Studio] Android studio 多渠道打包(超简洁版)

    [Android Studio] Android studio 多渠道打包(超简洁版) 转载:http://xuyazhou.com/archives/461 http://relex.me/usin ...

  2. uniapp打包发版到linux服务器步骤----H5端

    最近在写uni-app项目,项目打包部署到服务器后,搞了好一会一直打开是空白页,原来自己有几个地方疏忽了,现把步骤整理一下: 第1步:编辑配置 mainifest.json 文件 tip:运行的基础路 ...

  3. eclipse实现JavaWeb应用增量打包

    很多情况下,项目是不允许全量发布的,所以你得把有做修改的文件一个个挑出来,如果有成千上百的文件,你是不是要头大了? 以下方法应该可以让你得到解救!前提是你是用装有svn plugin的eclipse上 ...

  4. webpack模块打包简易版

    webpack基本使用流程(react) 1.安装webpack脚手架 cnpm install webpack webpack-cli -D 2.安装处理css的loader cnpm instal ...

  5. 异常学习笔记+打包+doc该软件包编译

    jvm调用默认的异常处理机制printStackTrace办法      欲了解更多异常处理.问题      捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 watermark/2 ...

  6. git 增量打包

    git diff f506693 ccc253c3 --name-only | xargs tar -czvf update.tar.gz

  7. 问题分析——Maven打包后发版,静态资源找不到

    一.背景 Xxl-Job-Admin(开源分布式调度中心)项目在本地运行正常,Jenkins发版到测试环境,发版成功后,打开管理页面,页面css.js找不到. 怀疑是Maven没有把静态资源打包进去导 ...

  8. node-webkit 应用打包发布

    方便进行打包,使用了nodejs  ,gulp  nw-builder 备注  windows 操作系统部分版本需要包含  msvcr100.dll  建议制作安装程序的时候直接包含 为了进行视频以及 ...

  9. iOS离线打包

    预备环境 iOS开发环境,Mac OS.XCode 7.2以上版本: 下载HBuilder离线打包iOS版SDK(5+ SDK下载). SDK目录说明 HBuilder-Hello:离线打包演示应用: ...

随机推荐

  1. ASP.NET MVC之Bundle压缩JS和CSS

    介绍Bundle之前先引用<淘宝技术这十年>中一段话,对Web前端稍微有点常识的人都应该知道,浏览器下一步会加载页面中用到的CSS.JS(JavaScript).图片等样式.脚本和资源文件 ...

  2. JS利用正则配合replace()函数替换指定字符

    定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp,replacement) ...

  3. 2、Python快速入门(0529)

    要素7:输入/输出 1.python解释器提供了3种标准文件对象,分别为标准输入.标准输出和标准错误,它们在sys模块中分别以sys.stdin.sys.stdout和sys.stderr形式提供: ...

  4. windows cmd 命令和 linux 命令

    windows cmd 命令和 linux 命令 常用的内部命令有md.cd.rd.dir.path.copy.type.edit.ren.del.cls.ver.date.time.prompt.常 ...

  5. TP5框架whereor

    whereOr方法 Db::table('think_user') ->where('name','like','%thinkphp') ->whereOr('title','like', ...

  6. php入门之数据类型

    String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值),资源. 返回类型 getType ...

  7. 搭建Eclipse+ADT+Android SDK 安卓开发环境

    安装JDK 请看JDK环境搭建 即可. 安装Eclipse Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运 ...

  8. Java基础-IO流(13)

    IO流用来处理设备之间的数据传输.可以实现文件复制,上传文件和下载文件. Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输 ...

  9. 『cs231n』线性分类器损失函数

    代码部分 SVM损失函数 & SoftMax损失函数: 注意一下softmax损失的用法: SVM损失函数: import numpy as np def L_i(x, y, W): ''' ...

  10. Leetcode 92

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...