|
|
我用PECMD整了一个7Z解压 工具,挺有意思的,支持RAR。源码:- #!PECMD
- FIND $%1=**pecmd,
- {
- MSTR &&cmd=<2->%*
- %&cmd%
- EXIT FILE
- }
- FIND $%1=--cmd,
- {
- MSTR &&cmd=<2->%*
- %&cmd%
- EXIT FILE
- }
- FIND $"%1"="",!
- {
- FIND $"%1"="/s",EXIT BLOCK
- LOAD %*
- EXIT FILE
- }
- TEAM ENVI OK=0|ENVI &NAME0=|ENVI &NAMEa=
- MDIR %TEMP%
- {
- LOCK ##LK_MKTEMP
- SET &t=%TEMP%\~tmp%RANDOM%.tmp
- LOOP #%OK%=0, TEAM ENVI &NAME0=%&t%| IFEX %&NAME0%,! ENVI OK=1| SET t=%TEMP%\~tmp%RANDOM%.tmp
- }
- FNAM -ext &NAMEa=%&NAME0%
- WIN1 %*
- _SUB WIN1,W450H380,7-Zip 解压程序
- ENVI &&NAME1=%~1
- FIND $""="%&NAME1%", ENVI &NAME1=%CurDir%\AUTO.7Z
- ITEM &BUTSTART,L360T315W60H25,开始解压, TEAM CALL OnStart|,
- LABE -right ,L25T260W60H25,压缩文件:,,
- ITEM &BUTFILE,L380T255W40H20,…,TEAM CALl SearchFile|,
- EDIT &NAME1,L86T257W280H18,%&NAME1%,,0x100
- ENVI &&NAME2=%~2
- FIND $""="%&NAME2%", ENVI &NAME2=%CurDir%\
- LABE -right ,L25T290W60H25,解压目录:,,
- ITEM &BUTDIR,L380T285W40H20,…,TEAM CALl SearchDir|,
- EDIT &NAME2,L86T287W280H18,%&NAME2%,,0x100
- ITEM &BUTSTOP,L25T315W60H25,强制中止,KILL *force %&NAMEa%
- ENVI @&BUTSTOP.Enable=0
- 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
- TIME &T1,100, CALL OnTimer1
- SET &bfile=0
- SET &bdir=0
- _END
- _SUB OnTimer1
- FIND %&NAMEa%,EXIT _SUB
- SET bfile=0
- SET bdir=0
- FDIR --fullfile &&F=%&NAME1%
- FDIR --fullfile &&G=%&NAME2%
- IFEX %&F%, SET bfile=1 //文件或目录
- IFEX %&F%\, SET bfile=0 //目录
- IFEX %&G%, SET bdir=0 //文件或目录
- IFEX %&G%\, SET bdir=1 //目录
- FIND $""="%&NAME1", SET bfile=0
- FIND $""="%&NAME2", SET bdir=0
- FIND $""="%&F", SET bfile=0
- FIND $""="%&G", SET bdir=0
- ENVI @&BUTSTART.Enable=%&bfile%
- FIND $1=%&bfile%, ENVI @&BUTSTART.Enable=%&bdir%
- _END
- _SUB SearchFile
- ENVI &FILE1=%&NAME1%
- BROW &&FILE1,%&NAME1%,请选择压缩文件
- FIND $""="%&FILE1%",!ENVI @&NAME1=%&FILE1%
- CALL OnTimer1
- _END
- _SUB SearchDir
- ENVI &DIR0=%&NAME2%
- BROW &&DIR0,*%&NAME2%,请选择一个目录
- FIND $""="%&DIR0%",!ENVI @&NAME2=%&DIR0%
- CALL OnTimer1
- _END
- _SUB OnStart
- //TEAM EXEC* --pid:&pide 7Z_exe @E=!cmd /c dir /s/b C:\TOOLS\*.* //DEBUG
- //EXIT
-
- //IFEX "%&NAME1%" ,!TEAM MESS 找不到 "%&NAME1%" @错误| EXIT _SUB
- //IFEX "%&NAME2%" ,!TEAM MESS 找不到 "%&NAME2%" @错误| EXIT _SUB
- ENVI @&BUTSTART.Enable=0
- ENVI @&BUTFILE.Enable=0
- ENVI @&BUTDIR.Enable=0
- ENVI @&BUTSTOP.Enable=1
- PUTF* %&NAME0%,,#1
- PUTF* %TEMP%\7z.dll,,#2
- SITE %&NAME0%,+H
- SITE %TEMP%\7z.dll,+H
- IFEX %&NAME0%,!TEAM MESS 请以管理员身份运行!@错误#OK*3000|EXIT FILE
- SET &pide=0
- SET &pidc=0
- TEAM EXEC* --pid:&pide 7Z_exe @E=!"%&NAME0%" x "%&NAME1%" -y -aos -o"%&NAME2%"
- FILE --force "%&NAME0%"
- FILE --force "%TEMP%\7z.dll"
- IFEX "%&NAME0%",!!EXEC --exe:"%MyName%" --pid:&pidc PECMD **pecmd WAIT *0 100 -del "%&NAME0%"
- MESS 完成解压!@提示
- KILL @
- _END
复制代码 |
-
-
7-Zip.7z
782.87 KB, 下载次数: 63, 下载积分: 无忧币 -2
|