经常压缩代码,但是一些无用的文件都不想压缩,会造成体积太大,只能通过rar本身提供的批处理来了。相关的语法在WinRar帮助里面。
新建bat,键入:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
set temppath=%~dp0
set temppath=%temppath:~0,-1%
"C:\Program Files\WinRAR\WinRAR.exe" a -m3 -ibck -ag[yyyy-MM-dd] -x*.pch -x*.obj -x*.ipch -x*.pdb -x*.sdf package.rar %temppath%
start mshta vbscript:msgbox("压缩完毕!",0,"提示")(window.close)&&exit
a表示压缩处理(不是解压缩),-m3表示标准压缩模式(还有存储,最快等), -ag表示加入在名称中加入当前压缩时间,-x表示排除哪些文件,package.rar是相对路径,存储在本路径下,%~dp0表示这个bat所在的绝对路径,意思就是要将这个跟bat同在的目录全部压缩成一个包。这样以后将bat随意拷贝到哪个目录下,就将那个目录打包。简单方便。-ep1表示rar文件里面不存储绝对路径,只存储上层文件夹,防止嵌套过深。
应用中发现%~dp0返回的路径最后是有斜杠的。这样rar默认就不打包子文件夹。所以temppath要将斜杠先去掉。
评论