无忧启动论坛

标题: 一个140k的7Z独立命令行程序 [打印本页]

作者: hht168    时间: 2013-6-9 08:38
标题: 一个140k的7Z独立命令行程序
本帖最后由 hht168 于 2013-6-22 11:14 编辑

很多PE内核都内置了7Z命令行工具,总共几个文件约1M多,不但和外置的7z程序有点重复,而且似乎有点大了!现在有更好的选择了!用一个7Z.exe文件加入PE内核即可!附件文件解开后
140K(原文件300多K,压缩后140K),实为7Z程序独立命令行版(即7zr.exe),版本9.20。感兴趣的试试看。

7z.zip (138.9 KB, 下载次数: 129)





作者: 527104427    时间: 2013-6-9 10:53
这个支持解压rar吗?以前有个7z.exe不支持哦


作者: hht168    时间: 2013-6-9 11:21
527104427 发表于 2013-6-9 10:53
这个支持解压rar吗?以前有个7z.exe不支持哦

不支持!再说PE二级内核文件一般打包成.7Z格式,没必要用RAR格式!
作者: hxj    时间: 2013-6-9 13:24
本帖最后由 hxj 于 2013-6-9 13:26 编辑

我PE中用的也是版本9.20,怎么只有151K
7Z.rar (67.81 KB, 下载次数: 33)


作者: 527104427    时间: 2013-6-9 13:36
hxj 发表于 2013-6-9 13:24
我PE中用的也是版本9.20,怎么只有151K

估计你这个还需要7Z.DLL
作者: 527104427    时间: 2013-6-9 13:41
我用PECMD整了一个7Z解压 工具,挺有意思的,支持RAR。源码:
  1. #!PECMD

  2. FIND $%1=**pecmd,
  3. {
  4.         MSTR &&cmd=<2->%*
  5.         %&cmd%
  6.         EXIT FILE
  7. }

  8. FIND $%1=--cmd,
  9. {
  10.         MSTR &&cmd=<2->%*
  11.         %&cmd%
  12.         EXIT FILE
  13. }

  14. FIND $"%1"="",!
  15. {
  16.         FIND $"%1"="/s",EXIT BLOCK
  17.         LOAD %*
  18.         EXIT FILE
  19. }

  20. TEAM ENVI OK=0|ENVI &NAME0=|ENVI &NAMEa=

  21. MDIR %TEMP%
  22. {
  23.         LOCK ##LK_MKTEMP
  24.         SET &t=%TEMP%\~tmp%RANDOM%.tmp
  25.         LOOP #%OK%=0, TEAM ENVI &NAME0=%&t%| IFEX %&NAME0%,! ENVI OK=1| SET t=%TEMP%\~tmp%RANDOM%.tmp
  26. }
  27. FNAM -ext &NAMEa=%&NAME0%

  28. WIN1 %*

  29. _SUB WIN1,W450H380,7-Zip 解压程序
  30.         ENVI &&NAME1=%~1
  31.         FIND $""="%&NAME1%", ENVI &NAME1=%CurDir%\AUTO.7Z
  32.         ITEM &BUTSTART,L360T315W60H25,开始解压, TEAM CALL OnStart|,
  33.         LABE -right ,L25T260W60H25,压缩文件:,,
  34.         ITEM &BUTFILE,L380T255W40H20,…,TEAM CALl SearchFile|,
  35.         EDIT &NAME1,L86T257W280H18,%&NAME1%,,0x100

  36.         ENVI &&NAME2=%~2
  37.         FIND $""="%&NAME2%", ENVI &NAME2=%CurDir%\
  38.         LABE -right ,L25T290W60H25,解压目录:,,
  39.         ITEM &BUTDIR,L380T285W40H20,…,TEAM CALl SearchDir|,
  40.         EDIT &NAME2,L86T287W280H18,%&NAME2%,,0x100

  41.         ITEM &BUTSTOP,L25T315W60H25,强制中止,KILL *force %&NAMEa%
  42.         ENVI @&BUTSTOP.Enable=0
  43.         EDIT-| E,L25T20W410H230,\n7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18\n\n制作:Jex Chan\n\nQQ:527104427,,0x44
  44.         TIME &T1,100, CALL OnTimer1
  45.         SET &bfile=0
  46.         SET &bdir=0
  47. _END

  48. _SUB OnTimer1
  49.         FIND %&NAMEa%,EXIT _SUB
  50.         SET bfile=0
  51.         SET bdir=0
  52.         FDIR --fullfile  &&F=%&NAME1%
  53.         FDIR --fullfile  &&G=%&NAME2%
  54.         IFEX %&F%,  SET bfile=1  //文件或目录
  55.         IFEX %&F%\, SET bfile=0  //目录
  56.         IFEX %&G%,  SET bdir=0  //文件或目录
  57.         IFEX %&G%\, SET bdir=1  //目录
  58.         FIND $""="%&NAME1", SET bfile=0
  59.         FIND $""="%&NAME2", SET bdir=0
  60.         FIND $""="%&F", SET bfile=0
  61.         FIND $""="%&G", SET bdir=0
  62.         ENVI @&BUTSTART.Enable=%&bfile%
  63.         FIND $1=%&bfile%, ENVI @&BUTSTART.Enable=%&bdir%
  64. _END

  65. _SUB SearchFile
  66.         ENVI &FILE1=%&NAME1%
  67.         BROW &&FILE1,%&NAME1%,请选择压缩文件
  68.         FIND $""="%&FILE1%",!ENVI @&NAME1=%&FILE1%
  69.         CALL  OnTimer1
  70. _END

  71. _SUB SearchDir
  72.         ENVI &DIR0=%&NAME2%
  73.         BROW &&DIR0,*%&NAME2%,请选择一个目录
  74.         FIND $""="%&DIR0%",!ENVI @&NAME2=%&DIR0%
  75.         CALL  OnTimer1
  76. _END

  77. _SUB OnStart
  78.         //TEAM EXEC* --pid:&pide 7Z_exe @E=!cmd /c dir /s/b  C:\TOOLS\*.*   //DEBUG
  79.         //EXIT
  80.    
  81.         //IFEX "%&NAME1%" ,!TEAM MESS 找不到 "%&NAME1%" @错误| EXIT _SUB
  82.         //IFEX "%&NAME2%" ,!TEAM MESS 找不到 "%&NAME2%" @错误| EXIT _SUB
  83.         ENVI @&BUTSTART.Enable=0
  84.         ENVI @&BUTFILE.Enable=0
  85.         ENVI @&BUTDIR.Enable=0
  86.         ENVI @&BUTSTOP.Enable=1

  87.         PUTF* %&NAME0%,,#1
  88.         PUTF* %TEMP%\7z.dll,,#2
  89.         SITE %&NAME0%,+H
  90.         SITE %TEMP%\7z.dll,+H

  91.         IFEX %&NAME0%,!TEAM MESS 请以管理员身份运行!@错误#OK*3000|EXIT FILE

  92.         SET &pide=0
  93.         SET &pidc=0

  94.         TEAM EXEC* --pid:&pide 7Z_exe @E=!"%&NAME0%" x "%&NAME1%" -y -aos -o"%&NAME2%"
  95.         FILE --force "%&NAME0%"
  96.         FILE --force "%TEMP%\7z.dll"
  97.         IFEX "%&NAME0%",!!EXEC --exe:"%MyName%" --pid:&pidc PECMD **pecmd WAIT *0 100 -del "%&NAME0%"
  98.         MESS 完成解压!@提示
  99.         KILL @
  100. _END

复制代码

7-Zip.7z

782.87 KB, 下载次数: 63, 下载积分: 无忧币 -2


作者: pseudo    时间: 2013-6-12 23:01
嗯,一直内置7za.exe。
作者: hht168    时间: 2013-6-15 15:28
压缩后变小了!可重新下载。
作者: 超级坏蛋    时间: 2013-6-21 19:56
这个应该不是7za.exe而是7zr.exe
作者: 超级坏蛋    时间: 2013-6-21 19:58
7zr:
http://nchc.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920_extra.7z

7za:
http://nchc.dl.sourceforge.net/project/sevenzip/7-Zip/9.20/7za920.zip
作者: 超级坏蛋    时间: 2013-6-21 20:19
7zl.exe 仅支持 lzma 算法的 7z 压缩文件
7zr.exe 仅支持所有算法以及加密的 7z 格式
7za.exe 支持 7-Zip 的所有格式。




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