批处理应用:使用FLASHGET检查Mcafee SuperDat更新

因做了一个脚本,使用Mcafee SuperDat进行查毒(http://blog.csdn.net/scz123/archive/2006/11/02/1362566.aspx),但病毒码更新时,都要到网站上去手动下载,固建此脚本,使用FLASHGET下载后的的病毒检查功能来运行,以达到让自动检查并下载Mcafee SuperDat更新的功能。

@echo off 
echo. 
echo ================================================== 
echo FLASHGET下载检测脚本,用来自动更新MCAFEE SUPERDAT 
echo created by scz 20061102 
echo ================================================== 
rem 请使用FLASHGET的病毒检测功能,指定为该脚本 
rem 主要使用FLASHGET下载更新页面时使用 
rem 让FLASHGET1.5以上版本定时下载更新页面:"E:Program FilesFlashGetflashget.exe" http://www.mcafee.com/apps/downloads/security_updates/superdat.asp?region=cn&segment=enterprise f:bakcheckMcafee 
rem 配只了病毒检测的flashget,下载完后就会运行此脚本,然后自动更新SupperDat 
rem 然后定期重新下载页面即可 

rem 下载到文件的路径、文件名和扩展名 
set filepath=%~dp1 
set filename=%~n1 
set fileExt=%~x1 

rem FLASHGET路径 
set FLASHGET="E:Program FilesFlashGetflashget.exe" 

rem SuperDat存放路径 
set datPath=f:bakupdate 

rem 检查的asp页面存放路径 
set aspPath=f:bakcheckMcafee 

rem 字符串比较 
echo. 
echo 检查下载的文件格式与位置... 
(echo -%filepath%- | find /i "-%datPath%-" >nul) && (echo -%filename%- | find /i "-sdat" >nul) && (echo -%fileExt%- | find /i "-.exe-" >nul) && goto checkdat 
(echo -%filepath%- | find /i "-%aspPath%-" >nul) && (echo -%filename%%fileExt%- | find /i "-superdat.asp-" >nul) && goto checkasp 

echo 下载到文件:%filepath%%filename%%fileExt%,不需要处理 
goto end 

:checkdat 
echo. 
echo 下载到SuperDat: %filename%%fileExt%,处理中... 
cd /d %datPath% 
ren %filename%%fileExt% McAfee.%filename%%fileExt% 
echo 删除老版SuperDat... 
for /f "skip=1" %%i in ('dir mcafee*.exe /tc /o-d /b 2^>nul') do (del %%i) 
echo 通知释放MCAFEE SUPERDAT... 
start "" McAfee.%filename%%fileExt% /e c:mcafee 
echo SuperDat处理完毕. 
goto end 

:checkasp 
echo. 
echo 下载到superdat.asp... 
set url= 
set sdatname= 
cd /d f:bakcheckMcafee 
echo 分析superdat.asp... 
for /f "tokens=3,4* delims=<>=" %%i in ('type superdat.asp ^| find "simplified/sdat"') do (set url=%%i & set sdatname=%%j) 
set ver0=%sdatname:sdat=% 
set ver1=%ver0:.exe=% 
echo 分析结果:SUPPERDAT版本号为%ver1% 

cd /d %datPath% 
if exist %sdatname% ren %sdatname% McAfee.%sdatname% 
if exist mcafee.%sdatname% (echo 已存在最新版本 &goto end) else (echo 该版本未下载,通知FLASHGET下载 &start "" %FLASHGET% %url% %datPath%) 
goto end 

:end 
echo. 
pause