快速整理发布文件的一个bat文件
2013-04-22 15:17
232 查看
在实际开发中,尤其是维护式开发,经常是接到一个需求,然后我们要么修改之前的文件,要么新增文件。如果涉及到的文件很多,在发布的时候还要一个一个文件找到通过FTP上传文件服务器,就很费时间。看到同事们搞了一个bat文件,只要把要发布的文件列好清单放到一个txt文件中,就很容易生成啦!现在就分享一下同事们写的那个bat文件,希望大家能提出意见:
其中
input是项目所在的本地路径,一般对个bat文件我们项目是用来发布.class文件的所以input的路径写到WebRoot;
output是生成的文件夹所在的本地路径,即要发布的文件,其他的就不用太关注啦,全部复制,然后文件起名为copyfiles.bat
具体操作是:
在本地任意一个路径下,放入copyfiles.bat和filelist.txt文件,其中filelist.txt文件中分别列出要整理的.class文件,注意路径是相对于input的相对路径,即要从E:\project\workspace\projectName\WebRoot下找class文件,应该是
WEB-INF\classes\com\xx\xx\service\newhyx\xxxx\Exxxxxxx.class这种格式的!
然后,双击运行copyfiles.bat文件就会在output路径下生成一个以年月日命名的文件!
----------------------------------------------------------
我们测试环境是用jar包的形式发布文件的,上面bat文件生成好要发布的文件,在E:\project\workspace\deployed\xxxx-xx-xx下找到对应的WEB-INF文件夹,然后再ftp上找到
/xxxx/xxx_war.ear/xxx.war/WEB-INF/lib/xxxxxx.jar(我们ftp的路径),下载到本地,再用winRAR打开,将刚才的WEB-INF\classes下的com包拖到其中,覆盖掉旧的。。。
此外,对其他类型的文件,如.jsp、.xml等等文件,我们直接是通过ftp上传的,这个可能不同项目组处理的方式不同吧。
==================================
当然还有其他方式整理文件,如
首先创建一个1.bat
然后再创建一个copysrcfiles.bat
这种情况,可以对所有.txt文件都进行扫描,遇到txt文件中有具体以形容下面的内容就会生成相应的文件夹和文件
xx\src\com\cpic\ryx\web\insurance\SelectProductsAction.java
xx\WebRoot\insurance\addEpolicyApply.jsp
xx\WebRoot\config\product\zhusulvke.xml
@echo off set source=filelist.txt set input=E:\project\workspace\projectName\WebRoot set output=E:\project\workspace\deployed set dirname=%date:~0,4%-%date:~5,2%-%date:~8,2% if not exist %output%\%dirname% mkdir %output%\%dirname% if exist %output%\%dirname%\copy.log del /q %output%\%dirname%\copy.log for /f %%a in (%source%) do ( echo f|xcopy /y /f %input%\%%a %output%\%dirname%\%%a>>%output%\%dirname%\copy.log ) xcopy /y /f %source% %output%\%dirname%\>>%output%\%dirname%\copy.log echo 文件已复制到%output%\%dirname% pause
其中
input是项目所在的本地路径,一般对个bat文件我们项目是用来发布.class文件的所以input的路径写到WebRoot;
output是生成的文件夹所在的本地路径,即要发布的文件,其他的就不用太关注啦,全部复制,然后文件起名为copyfiles.bat
具体操作是:
在本地任意一个路径下,放入copyfiles.bat和filelist.txt文件,其中filelist.txt文件中分别列出要整理的.class文件,注意路径是相对于input的相对路径,即要从E:\project\workspace\projectName\WebRoot下找class文件,应该是
WEB-INF\classes\com\xx\xx\service\newhyx\xxxx\Exxxxxxx.class这种格式的!
然后,双击运行copyfiles.bat文件就会在output路径下生成一个以年月日命名的文件!
----------------------------------------------------------
我们测试环境是用jar包的形式发布文件的,上面bat文件生成好要发布的文件,在E:\project\workspace\deployed\xxxx-xx-xx下找到对应的WEB-INF文件夹,然后再ftp上找到
/xxxx/xxx_war.ear/xxx.war/WEB-INF/lib/xxxxxx.jar(我们ftp的路径),下载到本地,再用winRAR打开,将刚才的WEB-INF\classes下的com包拖到其中,覆盖掉旧的。。。
此外,对其他类型的文件,如.jsp、.xml等等文件,我们直接是通过ftp上传的,这个可能不同项目组处理的方式不同吧。
==================================
当然还有其他方式整理文件,如
首先创建一个1.bat
@echo off set input=%3 set output=%4 set subdir=%1 set dirname1=%2\%subdir:~0,5% echo 开始复制清单%1 if not exist %output%\%dirname1% mkdir %output%\%dirname1% for /f %%a in (%1) do ( echo f|xcopy /y /f %input%\%%a %output%\%dirname1%\%%a>>%output%\%2\copy.log echo %input%\%%a ) echo 清单%1复制完成
然后再创建一个copysrcfiles.bat
@echo off set input=E:\project\workspace set output=D:\tool\COPY_QC set dirname=%date:~0,4%-%date:~5,2%-%date:~8,2% if exist %output%\%dirname%\copy.log del /q %output%\%dirname%\copy.log dir /b *.txt>list for /f %%b in (list) do ( call 1.bat %%b %dirname% %input% %output% ) echo 文件已复制到%output%\%dirname% pause
这种情况,可以对所有.txt文件都进行扫描,遇到txt文件中有具体以形容下面的内容就会生成相应的文件夹和文件
xx\src\com\cpic\ryx\web\insurance\SelectProductsAction.java
xx\WebRoot\insurance\addEpolicyApply.jsp
xx\WebRoot\config\product\zhusulvke.xml
相关文章推荐
- 新年刚过,发布一个生成POT文件的小工具
- AndroidStudio快速查看签名文件MD5、SHA1值的一个超简单方法。
- 批处理命令快速生成一个指定大小的文件,数据填满硬盘
- 对一个工程文件的整理
- 【转】如何使用VS 2013发布一个可以在Windows XP中独立运行的可执行文件
- 发布一个框架的补充文件,引进highcharts等报表控件.
- IIS 学习笔记(在IIS上发布了一个webservice,访问时可以访问到其目录,但是无法打开.asmx文件)
- 发布一个SharePoint 2010 工具(复制,移动文件和文件夹)
- unity基础开发--Android开发发布一个Android的apk文件
- Glide :一个android平台上的快速和高效的开源的多媒体资源管理库, 提供 多媒体文件的压缩,内存和磁盘缓存, 资源池的接口
- windows 下面 查找一个文件夹下的所有文件。整理版
- 利用JDK快速发布一个webservice
- 通过node指令自动创建一个package.json文件,并封装发布使用
- 教你怎样用unity3d发布一个Android的apk文件.绝对精细
- 自己动手写一个 iOS 网络请求库(四)——快速文件上传
- linux系统上如何快速的查找一个文件?
- 构建一个发布文件
- 发布一个biztalk 解析Excel文件到xml消息的管道组件
- IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法
- tomcat 设置文件指向路径 和发布项目 路径(保证指向同一个项目名)