无忧启动论坛

标题: 7Z自解压文件的命令行更新方法 [打印本页]

作者: hxj    时间: 2012-5-15 14:19
标题: 7Z自解压文件的命令行更新方法
现在不少人用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 编辑 ]
作者: 永恒心锁    时间: 2012-5-15 14:44
同样等待高手一起解决问题
作者: hxj    时间: 2012-5-15 15:02
这一更新过程其实是重新产生一个新的7Z自解压文件.
有关7z配置文件帮助文件中好像也提到过(config.txt),但怎样用命令提取和导入配置文件,我研究了半天也没找到正确的方法。
作者: hxj    时间: 2012-5-15 17:30
又有进展:

用ResHacker修改7zCon.sfx中的图标组解决了新生成的自解压文件图标问题。

继续研究解压途径和解压后执行命令的配置导出和导入问题。

更新时源文件不用*时将可加入所在目录
start /wait 7z u -sfx %CD%\XXX\XXX.exe CD%\YYY\ -y
将当前YYY目录中的所有文件(包括YYY目录) 更新替换当前XXX目录中的7z自解压文件XXX.exe

[ 本帖最后由 hxj 于 2012-5-15 17:36 编辑 ]




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3