|
[这个贴子最后由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启动盘未公布的隐藏功能 |
|