| 
 | 
 
[这个贴子最后由xusen在 2005/05/30 07:16pm 第 3 次编辑] 
 
“自行解压调用AVPDOS(卡巴斯基)压缩包的功能是如何实现的?”现为大家作以详解: 
  
  
"*"为注解,由下行注解上行 
------- X-AVIRUS.BAT (XUSBOOT启动盘 Version 1.1.e.Simplified.2005.06.01 菜单内杀毒软件调用的批处理)------- 
@ECHO OFF 
set VIRU= 
:AVIRUS 
    wbat pal ! cls ! text 25,5 (+black) :copyright 
[color=#00008B]* 调显版权信息 
    call w.bat box:AVIRUS-menu #%VIRU% +1 
[color=#00008B]* 调显杀毒菜单 
        set VIRU=%?% 
[color=#00008B]* 记忆你所操作的并赋值给变量VIRU 
IF %wbat%#==KVDOS# SET SUN=KV 
[color=#00008B]* 你所要操作的如果是KVDOS则把KV寄存与变量SUN 
IF %wbat%#==RAVDOS# SET SUN=RAV 
IF %wbat%#==KAVDX# SET SUN=KAV 
IF %wbat%#==PAVDOS# SET SUN=PAV 
IF %wbat%#==AVPDOS# SET SUN=AVP 
IF %wbat%#==McAfee# SET SUN=McAfee 
IF %wbat%#==F-Prot# SET SUN=F-Prot 
IF %wbat%#==NOD32# SET SUN=NOD 
IF %wbat%#==NAV# SET SUN=NAV 
IF %wbat%#==END# goto END 
[color=#00008B]* 如你选择退出则退至标有“:END”的行 
for %%a in (KVDOS RAVDOS KAVDX PAVDOS AVPDOS McAfee F-Prot NOD32 NAV) do IF NOT %wbat%#==%%a# IF EXIST %RAMDRIVE%\%%a\NUL DELTREE /Y %RAMDRIVE%\%%a>NUL 
[color=#00008B]* 如有非运行的杀毒软件存在于内存盘则删除 
IF EXIST %RAMDRIVE%\%wbat%\NUL GOTO SUN-AV 
[color=#00008B]* 如你所需的运行文件已存在则退至“:SUN-AV”的行 
DIR %TXUS%\%SUN%*.zip/b/a-d/od|find "%SUN%"/i >%temp%\av.bat 
[color=#00008B]* 判断你所需运行杀毒软件压缩包是何类型,并以最新日期为调用对象 
if not errorlevel 1 SET UN=ZIP 
if not errorlevel 1 GOTO AV-UNZRA 
DIR %TXUS%\%SUN%*.rar/b/a-d/od|find "%SUN%"/i >%temp%\av.bat 
if not errorlevel 1 SET UN=RAR 
if not errorlevel 1 GOTO AV-UNZRA 
DIR %TXUS%\%SUN%*.arj/b/a-d/od|find "%SUN%"/i >%temp%\av.bat 
if not errorlevel 1 SET UN=ARJ 
if not errorlevel 1 GOTO AV-UNZRA 
DIR %TXUS%\%SUN%*.XUS/b/a-d|find "%SUN%"/i >%temp%\av.bat 
if not errorlevel 1 SET UN=XUS 
if not errorlevel 1 GOTO AV-UNZRA 
if errorlevel 1 GOTO NOXUS 
[color=#00008B]* 如没有找到及都不是以上类型则转至“:NOXUS”没有此压缩包菜单 
:AV-UNZRA 
CLS 
HEXC %temp%\av.bat %temp%\av.bat "%SUN%" "SET,AV=%SUN%" /U >%temp%\tmp 
CALL %temp%\AV.BAT 
[color=#00008B]* 将已搜索到的结果赋值给变量“AV” 
IF %CONFIG%#==EN# ECHO decompressing (%AV%)files, please wait......  
IF NOT %CONFIG%#==EN# ECHO 解压(%AV%)文件, 请稍候...... 
IF NOT %UN%#==XUS# GOTO UNZIP 
COPY %TXUS%\%AV% %RAMDRIVE%\%SUN%.EXE>NUL 
%RAMDRIVE%\%SUN%.EXE >%temp%\tmp 
DEL %RAMDRIVE%\%SUN%.EXE 
GOTO SUN-AV 
:UNZIP 
MD %RAMDRIVE%\%wbat% 
%RAMDRIVE% 
CD\%wbat% 
IF %UN%#==ZIP# PKUNZIP -o %TXUS%\%AV% >NUL 
IF %UN%#==RAR# UNRAR e -y %TXUS%\%AV% >NUL 
IF %UN%#==ARJ# UNARJ e %TXUS%\%AV% >NUL 
IF %UN%#==# GOTO NOXUS 
:SUN-AV 
CD\%wbat% 
dir *.im?/s/b|find ".im"/i >%temp%\img.bat 
if errorlevel 1 goto NoIMG 
HEXC %temp%\img.bat %temp%\img.bat "%RAMDRIVE%" "SET,IMG=%RAMDRIVE%" /U >%temp%\tmp 
CALL %temp%\IMG.BAT 
UNDISK %IMG% . /O >NUL 
DEL %IMG% 
DEL %temp%\IMG.BAT 
:NoIMG 
for %%a in (KVDOS RAVDOS F-Prot NOD32 NAV) do if %wbat%#==%%a# goto AVMENU 
IF %CONFIG%#==EN# ECHO Stop scan, press CTRL+(PAUSE)BREAK or ESC. 
IF NOT %CONFIG%#==EN# ECHO 终止扫描, 按 "CTRL" + "(PAUSE)BREAK" 键或"ESC"键. 
:AVMENU 
IF %wbat%#==McAfee# SET WBAT=scan /ad /all /dam /sub /clean 
IF %wbat%#==AVPDOS# SET WBAT=AVPDOS32 
IF %wbat%#==NOD32# SET WBAT=NOD32DOS 
IF %wbat%#==PAVDOS# SET WBAT=PAVCL /ALl /AEX /CMP 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# CTMOUSE /U >%TEMP%\TMP 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# QUIT >%TEMP%\TMP 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# CTMOUSE >%TEMP%\TMP 
%wbat% 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# CTMOUSE /U >%TEMP%\TMP 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# TW >%TEMP%\TMP 
IF NOT %CONFIG%#==EN# IF %wbat%#==NOD32DOS# CTMOUSE >%TEMP%\TMP 
IF EXIST %TEMP%\TMP DEL %TEMP%\TMP 
CD\ 
GOTO AVIRUS 
:NOXUS 
call w.bat box :NOXUS-MENU  
[color=#00008B]* 没有找到你所制定的压缩包菜单 
goto AVIRUS 
:END 
IF EXIST %temp%\tmp DEL %temp%\tmp 
for %%a in (wbat av viru sun un img) do set %%a= 
set ?= 
wbat cls 
------------------------------------- 
相关帖子: 
XUSBOOT 超普智能启动盘 介绍及下载 
[图解]XUSBOOT启动盘GHOST智能还原讲解(使用XUSBOOT的朋友强烈建议看一下) 
[解说]XUSBOOT “自行解压调用AVPDOS(卡巴斯基)压缩包的功能是如何实现的?” 
[分享]XUSBOOT启动盘未公布的隐藏功能 |   
 
 
 
 |