在项目中,需打包,每次使用打包工具很麻烦,直接在生成目录下使用exe就可以了,故编写一个.bat文件来处理就可以了,如下:
将生成文件BOMEXE.exe.1取名为MakeVersion.bat,以后直接点击就行了。@echo off
2echo Starting Make BOM update package
3echo -----------------------------------------------------
4echo 1. Create temp directory: temp
5rd /S /Q temp
6
7md temp
8md temp\config
9md temp\dll
10
11echo 2. Copy files
12
13copy config\AmountButtonInfo.xml temp\config\AmountButtonInfo.xml
14copy config\MessageDef.cfg.xml temp\config\MessageDef.cfg.xml
15copy config\NSICUState.xml temp\config\NSICUState.xml
16copy config\Template.xml temp\config\Template.xml
17copy config\UIFunctions.xml temp\config\UIFunctions.xml
18copy config\YktServerReturnCode.xml temp\config\YktServerReturnCode.xml
19copy config\TicketInfo.xml temp\config\TicketInfo.xml
20copy config\SysMaintenanceUI.xml temp\config\SysMaintenanceUI.xml
21copy Resources\13Line.bmp
22copy Resources\airportLine.bmp
23
24copy dll\*.dll temp\dll\
25
26copy *.dll temp\
27copy *.pdb temp\
28copy *.bpl temp\
29
30copy NewUI.exe temp\
31copy NewUI.exe.manifest temp\
32copy NewUI.exe.config temp\
33
34echo 3. Create Self Extract File (RAR)
35
36cd temp
37
38attrib -R /S /D
39winrar a -r -sfx BOMEXE
40
41echo 4. Prepare SFX Comments
42
43echo Silent=1 > sfx.txt
44echo Overwrite=1 >> sfx.txt
45rem echo Path=.\ >> sfx.txt
46
47echo 5. Add SFX Comments
48
49winrar c -zsfx.txt BOMEXE.exe
50
51copy BOMEXE.exe ..\
52
53echo 6. Update package completed!!
54
55echo on
56pause
57
附上:命令行各参数用法
1用法: rar <命令> -<开关 1> -<开关 N> <压缩文件> <文件
>
2<@列表文件
> <解压路径\>
3
4<命令>
5a 添加文件到压缩文件
6c 添加压缩文件注释
7cf 添加文件注释
8cw 写入压缩文件注释到文件
9d 删除压缩文件中的文件
10e 解压压缩文件到当前目录
11f 刷新压缩文件中的文件
12i[参数]=<串> 在压缩文件中查找字符串
13k 锁定压缩文件
14l[t,b] 列出压缩文件[技术信息,简洁]
15m[f] 移动到压缩文件[仅对文件]
16p 打印文件到标准输出设备
17r 修复压缩文件
18rc 重建丢失的卷
19rn 重命名压缩文件
20rr[N] 添加数据恢复记录
21rv[N] 创建恢复卷
22s[名字|-] 转换压缩文件为自解压格式或转换回压缩文件
23t 测试压缩文件
24u 更新压缩文件中的文件
25v[t,b] 详细列出压缩文件[技术信息,简洁]
26x 用绝对路径解压文件
27
28<开关>
29- 停止扫描
30ac 压缩或解压后清除存档属性
31ad 添加压缩文件名到目标路径
32ag[格式] 使用当前日期生成压缩文件名
33ao 添加具有压缩属性的文件
34ap<格式> 添加路径到压缩文件中
35as 同步压缩文件内容
36av 添加用户身份校验(仅注册版本可用)
37av- 禁用用户身份校验
38c- 禁用注释显示
39cfg- 禁用读取配置
40cl 名称转换为小写
41cu 名称转换为大写
42df 压缩后删除文件
43dh 打开共享文件
44ds 对固实压缩文件禁用名称排序
45e[+]<属性> 设置文件排除和包括属性
46ed 不添加空目录
47en 不添加"压缩文件结束"标志
48ep 从名称中排除路径
49ep1 从名称中排除基本目录
50ep2 展开为完整路径
51ep3 扩展路径为包含盘符的完全路径
52f 刷新文件
53hp[密码] 同时加密文件数据和文件头
54id[c,d,p,q] 禁用消息
55ieml[属性] 用 E-mail 发送压缩文件
56ierr 发送所有消息到标准错误设备
57ilog[名称] 把错误写到日志文件(只有注册版本可用)
58inul 禁用所有消息
59ioff 完成一个操作后关闭 PC 电源
60isnd 启用声音
61k 锁定压缩文件
62kb 保留损坏的已解压文件
63m<0..5> 设置压缩级别(0-存储
3-默认
5-最大)
64mc<参数> 设置高级压缩参数
65md<大小> 以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
66ms[ext;ext] 指定存储的文件类型
67n<文件> 仅包含指定的文件
68n@ 从标准输入设备读取文件名到包括
69n@<列表> 在指定的文件列表包括文件
70o+ 覆盖已存在文件
71o- 不覆盖已存在文件
72oc 设置 NTFS 压缩属性
73os 保存 NTFS 流
74ow 保存或恢复文件所有者和组
75p[密码] 设置密码
76p- 不询问密码
77r 递归子目录
78r0 仅递归通配符名称的子目录
79ri<P>[:<S>] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间
80rr[N] 添加数据恢复记录
81rv[N] 创建恢复卷
82s[<N>,v[-],e] 创建固实压缩文件
83s- 禁用固实压缩文件
84sfx[名称] 创建自解压压缩文件
85st[名称] 从标准输入设备读取数据(stdin)
86t 压缩后测试文件
87ta<日期> 添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS
88tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
89tk 保留原始压缩文件时间
90tl 设置压缩文件时间为最新文件时间
91tn<时间> 添加 <时间> 以后的文件
92to<时间> 添加 <时间> 以前的文件
93ts<m,c,a>[N] 保存或恢复文件时间(修改,创建,访问)
94u 更新文件
95v 自动检测创建卷的大小或者列出所有的卷
96v<大小>[k,b] 创建卷大小=<大小>*1000 [*1024, *1]
97vd 创建容量前清除磁盘内容
98ver[n] 文件版本控制
99vn 使用旧风格的卷命名方案
100vp 每卷之前暂停
101w<路径> 指定工作目录
102x<文件> 排除指定的文件
103x@ 从标准输入设备读取要排除的文件名
104x@<列表> 排除指定列表文件中的文件
105y 假设对全部询问都回答是
106z<文件> 从文件读取压缩文件注释
107
108![]()
109
110举个例子:
111
1121. 建立一个批处理文件,里头起作用的只有1行:)
113
114===================================================
115
116BackFav.bat(名字可以随便起)文件内容:
117
118REM 这个批处理文件是用来自动备份我的收藏夹
119REM WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件
> <@列表文件
> <解压路径\>
120"D:\Program Files\WinRAR\WinRAR.exe" a -as -r -sfx -zsfxpara.txt -EP1 "d:\my documents\Favorites.exe" "%USERPROFILE%\Favorites"
121
122===================================================
123
124参数说明:
125
126a: 添加指定的文件(源目录,这里是"%USERPROFILE%\Favorites")和文件夹到压缩文件(目标文件,这里是"d:\my documents\Favorites.exe")中。
127
128-as: 这是一个开关,指添加方式是“同步压缩文件内容”
129
130-r: 表示“包含子文件夹”
131
132-sfx: 表示建立的是一个自解压文件
133
134-zsfxpara.txt: 从文件sfxpara.txt读取压缩文件注释,这注释有什么用后面解释
135
136-ep1: 表示不把路径%USERPROFILE%保存在压缩文件中
137
138![]()
139
1402. 注释文件的作用
141
142建立压缩文件的时候不光要考虑压缩那些文件,还要考虑怎么解压缩。通过注释文件可以向压缩包传递许多有用的信息。
143
144sfxpara.txt内容:
145
146PATH=%USERPROFILE%\
147Silent=1
148
149