批处理应用:使用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 Files\FlashGet\flashget.exe" http://www.mcafee.com/apps/downloads/security_updates/superdat.asp?region=cn&segment=enterprise f:\bak\checkMcafee
rem 配只了病毒检测的flashget,下载完后就会运行此脚本,然后自动更新SupperDat
rem 然后定期重新下载页面即可
rem 下载到文件的路径、文件名和扩展名
set filepath=%~dp1
set filename=%~n1
set fileExt=%~x1
rem FLASHGET路径
set FLASHGET="E:\Program Files\FlashGet\flashget.exe"
rem SuperDat存放路径
set datPath=f:\bak\update\
rem 检查的asp页面存放路径
set aspPath=f:\bak\checkMcafee\
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:\bak\checkMcafee
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