bat自动打包压缩实现

摘要:
第二句话是调用生成的pack.tmp.bat文件;“../../tools/SubWCRev.exe”..//收拾球棒t包装。tmp。bat fcallpack。tmp。巴特尔包。tmp。batpause(2)在文件模板@remw2000下测试,通过@rem@echoffrem获取当前时间。系统不同。

1.引言

本文档的编辑目的是为了实bat脚本自动打包功能,包含包的名字命名,压缩文件内外层文件夹的名字;包含svn版本号等;

2.实现介绍

1)获取svn号,生成批处理文件

写一个pak.bat文件写入下列内容,第一句是调用SubWCRev.exe文件传入参数生成pack.tmp.bat文件,第二句是调用生成的pack.tmp.bat文件;第三句是删除生成的文件;

"../../tools/SubWCRev.exe" ../../ pack.bat.t pack.tmp.bat -f

call pack.tmp.bat

del pack.tmp.bat

pause

2pack.bat.t文件模板

@rem win2000下测试通过

@rem 获取当前时间

@echo off

rem 系统不一样,日期格式有差别

for /f "tokens=1-10 delims=- " %%a in ('DATE /T') do set Date=ams_v1.11.0_svn$WCREV$_%%a%%b%%c_s

@xcopy /E /Y /I /EXCLUDE:uncopy.txt .*.*  ..ams

"C:Program FilesWinRARWinRAR.exe" a -df -ibck ..\%Date%.zip ..ams

Pause

3pack.tmp.bat真正的打包批处理文件

       可以发现运行pack.bat文件,将文件pack.bat.t传入SubWCRev.exe后生成的pack.tmp.bat与pack.bat.t不同的地方就是文件的$WCREV$参数变成了svn号360515,这其实是用工具SubWCRev.exe获取程序的svn编号;在生成新的打包批处理文件;@标记的行都是备注;for /f 语句是bat的语句,用批处理in后面的数据或者字符串,tokens指定获取的数据个数,delims用来分割数据的分隔符,'DATE /T'表示系统时间,set设置变量;这句话的意思是获取系统时间,将a,b,c标记的年、月、日输入到变量Date中,生成压缩包的名称;xcopy语句是复制原路径下文件,到目标文件夹ams下,..表示当前目录的上一级目录;参数/E表示复制目录和子目录,包括空文件夹;/Y参数表示如果目标目录有该文件则直接覆盖;/I表示如果目标文件夹不存在,又在复制一个以上的文件,则自动创建新的文件夹ams;/EXCLUDE:uncopy.txt表示排查的文件类型,在uncopy.txt中写明不复制的文件名称或者后缀名;.*.*指定当前目录的所有文件;..ams表示目标文件夹;下面一句则是调用压缩程序winRAR,需要系统安装了压缩程序,将安装路径用字符串写在开头,a表示添加文件,-df表示压缩成功后删除原有文件,如果要保留源文件则不加这个参数;-ibck表示在后台运行,不显示压缩界面和进度;后面的参数是压缩文件包的名称,用前面生成的字符串变量Date来命名;在后面是要被压缩的文件夹..ams;

@rem win2000下测试通过

@rem 获取当前时间

@echo off

rem 系统不一样,日期格式有差别

for /f "tokens=1-10 delims=- " %%a in ('DATE /T') do set Date=ams_v1.11.0_svn360515_%%a%%b%%c_s

@xcopy /E /Y /I /EXCLUDE:uncopy.txt .*.*  ..ams

"C:Program FilesWinRARWinRAR.exe" a -df -ibck ..\%Date%.zip ..ams

pause

4uncopy.txt文件的内容

svn

.lib

.exp

.obj

.log

.db

.ilk

3.总结

综上所述,需要文件pak.bat、pack.bat.t、uncopy.txt、SubWCRev.exe四个文件,执行pak.bat文件,pak.bat文件将文件pack.bat.t传入SubWCRev.exe后生成的pack.tmp.bat,获取到svn号,再执行pack.tmp.bat文件,先获取到时间,和svn号一起组成压缩包的名称,然后复制文件到文件夹ams,再将ams压缩成指定名称的压缩包;最后再删除掉复制过程中生成的中间文件夹ams;就是这样一个过程;如果只是简单的复制文件;则直接使用pack.tmp.bat文件和uncopy.txt,按照自己的需求修改,执行即可;文件中的路径根据具体的路径去设置相对路径;最好是放在同一个文件夹下;

自己编了一个股票监控软件,有如下功能,有兴趣的朋友可以下载;

(1)   个股监测。监测个股实时变化,可以监测个股大单交易、急速拉升和下降、主力入场和出场、股票最高点和最低点提醒。检测到最高点、最低点、主力进场点、主力退场点、急速拉升点、急速下跌点,给出语音或者声音提醒,不用再时刻看着大盘了,给你更多自由的时间;

(2)   大盘监测。监测大盘的走势,采用上证、深证、创业三大指数的综合指数作为大盘走势。并实时监测大盘的最高点和最低点、中间的转折点。

(3)   股票推荐。还能根据历史数据长期或短期走势进行分析,对股市3千多个股票进行分析对比,选出涨势良好的股票,按照增长速度从大到小排序,推荐给你涨势良好的股票;

下载地址:

1.0.3版本(修复大盘指数崩溃缺陷)下载地址:

链接:https://pan.baidu.com/s/1BJcTp-kdniM7VE9K5Kd3vg 提取码:003h

更新链接:

https://www.cnblogs.com/bclshuai/p/10621613.html

bat命令学习链接

https://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html

xcopy详细学习链接

https://baike.baidu.com/item/xcopy

bat中RAR命令参数详解

https://www.cnblogs.com/len0031/p/5888560.html

免责声明:文章转载自《bat自动打包压缩实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 动态Linq(结合反射)【转】 PostgreSQL数据类型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Angular安装及创建第一个项目

Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVW(Model-View-Whatever)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。   AngularJ...

Linux shell入门基础(二)

二、shell对文本的操作 01.查看文本的命令 #cat /etc/passwd(并非对文本文件操作) #tail -5 /etc/passwd(查看末尾5行) #tail -f /var/log/messages(对日志文件监视) 02.使用正则表达式的命令 #cat  sdkjfalkdsjf sdkjfalkdsjf ieakjnhgalkdsj...

程序延时里的思维

程序延时里的思维   大概所有的51单片机初学者在用到延时的时候都有一个共同点,那就是使用一段空循环消耗CPU的时间从而达到延时目的,常见的函数就是图1-1中的delay函数。这种模式在初学阶段的确是简单易懂,学习起来会得心应手,这可以称得上是我们单片机生涯的童年时代,它使我们学会了走起来。但对于学习了三四年单片机的人来说,不能再单单走了,要跑起来! 1...

fread写入结构体

#include<stdio.h> #include <stdlib.h> #define N 4 typedef struct student_type { char name[10]; int num; int score; }student_type; int main() { student_type temp;...

怎么使用gitee进行团队开发

1. 注册gitee账号 从官网进行注册,注册的时候注意尽量自己定义用户名,绑定手机号或者邮箱,不要使用微信登陆(否则会有坑) https://gitee.com/  2.注册完之后,使用自己的账号密码进行登陆 我在这里使用的是手机号登陆 3. 使用gitee创建仓库   这样就可以创建一个仓库了 4. clone 其他人的仓库 如果进行团队开发,A...

Cypress web自动化23-cypress run 命令行参数详解

前言 非 GUI 模式下命令行运行 cypress,需知道有哪些参数可以使用。 查看命令行参数 输入 -h 查看命令行参数 cypress run -h Runs Cypress tests from the CLI without the GUI Options: -b, --browser <browser-name-or-path>...