|
现在不少人用7z自解压来打包单文件绿色版软件,这种单文件自解压文件体积小使用方便,很受不少PE外置工具制作者的欢迎。但这种单文件自解压文件需要更新(如杀毒软件更新病毒库)就比较麻烦了。好像只能用7Z手动进行更新,无法进行自动更新(用命令行批处理)。
为了解决这一问题,我对7z的帮助文件中的命令行参数研究了半天,也不能求得完美的解决方案。
我们可以用以下命令解压一个7z自解压文件:
start /wait 7z e -sfx XXX.exe -o%CD%\XXX * -y
start /wait 7z x -sfx XXX.exe -o%CD%\XXX * -y
将7z自解压文件XXX.exe中所有文件解压到当前目录的XXX目目录,e为解压不包括子目录,x为解压包括子目录中文件 -Y为所有选择提示为YES
我们还可用以下命令更新一个 7z自解压文件:
start /wait 7z u -sfx %CD%\XXX\XXX.exe CD%\YYY\* -y
将当前YYY目录中的所有文件 更新替换当前XXX目录中的7z自解压文件XXX.exe
以上命令的确能更新7z自解压文件(当前目录需要有7z.exe和7zCon.sfx文件存在), 但问题出现了:
1.更新后的自解压文件原来 的配置(解压途径、解压后执行命令、文件图标)全部丢失。怎样才能保持原来的配置呢?
2.如果需要更新自解压包中子目录中的文件,又怎样加入目录到命令中呢?
以上是我研究7z自解压文件更新方法的体会和发现存在的问题,希望高手能出来帮助!
[ 本帖最后由 hxj 于 2012-5-15 14:44 编辑 ] |
|