CODE: [Copy to clipboard]
@ECHO OFF
REM 设置基本环境变量
SET FTPSITEN=1
SET HTTPSITE="HTTP://securityresponse.symantec.com/avcenter/download/pages/US-N95.html"
SET HTTPDSITE="http://definitions.symantec.com/defs/"
SET TIMEOUT=3
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
CMDOW @ /DIS
FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J
REM 根据系统语言进行编码转化
IF "%JUT%"=="1" GOTO CHS
IF "%LAN%"=="936" GOTO :CHS
IF "%LAN%"=="437" GOTO :CHS
:CHT
SET JUT=1
START /WAIT CT.EXE /B /S "UPDATE.BAT" /D "UPDATECHT.BAT"
START /B/WAIT UPDATECHT.BAT
IF EXIST UPDATECHT.BAT DEL UPDATECHT.BAT
EXIT
:CHS
ECHO ND杀毒自动更新程序V1.0可以实现如下功能
ECHO 根据站点列表更新病毒库;记录操作记录和出错误记录;自动识别繁简系统
ECHO 提示:本程序可能不适合WIN9X机器;如果下载的包内有多个文件,请保持原文件名和路径
ECHO.
ECHO ╔──────────────────────────────╗
ECHO │ │
ECHO │ ND杀毒更新系统V1.0 │
ECHO │ 本程序由小布点(秋语)编写制作 │
ECHO │ 欢迎使用小布点制作的绿色软件和其他程序 │
ECHO │ 本程序可以自由复制,使用和发布,版权归作者本人所有 │
ECHO │ QQ:9399100 QQ群号:29946542 E-MAIL:xiaobudian528@sina.com │
ECHO │ │
ECHO ╚──────────────────────────2007─㊣╝
ECHO.
ECHO 正在进行更新准备工作,请稍候.........
TITLE 正在进行更新准备工作,请稍候.........
PING 127.0.0.1 -n %TIMEOUT% >NUL
>ftplst.ini ECHO user anonymous
>>ftplst.ini ECHO.
>>ftplst.ini ECHO cd SHARE
>>ftplst.ini ECHO ls *-i32.exe downlst.txt
>>ftplst.ini ECHO quit
if exist login.log del /q/f login.log
REM 1.首先使用匿名登陆FTP获取最新病毒库的下载文件列表;如果失败则记录到login.log中并转到HTTP下载
ECHO 正在获取病毒库最新档案文件,请等待.......
TITLE 正在获取病毒库最新档案文件,请等待.......
:FTPLOOP
if exist downlst.txt del /q/f downlst.txt >NUL
FOR /F "eol=;skip=%FTPSITEN%" %%A IN (FTPSITE.INI) DO (
ECHO ==================以下是登陆站点:%%A的错误信息================== >>login.log
FTP -n -s:ftplst.ini %%A >>login.log
FOR /F %%I IN (downlst.txt) DO SET downlst=%%I
setlocal enabledelayedexpansion
IF NOT DEFINED downlst (SET /A FTPSITEN+=1 && GOTO :FTPLOOP)
IF EXIST !downlst! GOTO FEXIST
CLS
ECHO 正在下载最新档案文件:%downlst%,请等待.......
TITLE 正在下载最新档案文件:%downlst%,请等待.......
if exist login.log del /q/f login.log >NUL
>ftpsetup.ini ECHO user anonymous
>>ftpsetup.ini ECHO.
>>ftpsetup.ini ECHO get SHARE\!downlst!
>>ftpsetup.ini ECHO quit
ftp -n -s:ftpsetup.ini %%A >NUL
if exist downlst.txt del /q/f downlst.txt >NUL
if exist ftplst.ini del /q/f ftplst.ini >NUL
if exist ftpsetup.ini del /q/f ftpsetup.ini >NUL
endlocal
GOTO :INSTALL
)
WGET %HTTPSITE% -q -O HTTPSITE.HTML >NUL
H2TXT /IP HTTPSITE.HTML|FIND /I "-I32.EXE" >downlst.txt & CLS
FOR /F %%I IN (downlst.txt) DO SET downlst=%%I
IF NOT DEFINED downlst GOTO :DOWNERR
if exist login.log del /q/f login.log >NUL
IF EXIST %downlst% GOTO FEXIST
ECHO 正在下载最新档案文件:%downlst%,请等待.......
TITLE 正在下载最新档案文件:%downlst%,请等待.......
WGET %HTTPDSITE%%downlst% -q
GOTO :INSTALL
REM 2.安装病毒定义库文件.
:INSTALL
CLS
ECHO 下面将安装最新的病毒库档案:%downlst%,请等待......
TITLE 下面将安装最新的病毒库档案:%downlst%,请等待......
start /b/wait "" "%downlst%"
GOTO :END
:FEXIST
CLS
if exist login.log del /q/f login.log >NUL
ECHO 最近没有更新档案,按任意键退出程序.......
PAUSE >NUL
GOTO :END
:DOWNERR
ECHO ==================以下是登陆站点:symantec.com的错误信息==================>>login.log
ECHO 无法登陆symantec.com站点或无法获取最新病毒定义档案>>login.log
ECHO =========================================================================>>login.log
ECHO.>>login.log
ECHO 下载出错,请仔细检查下面错误记录内容,如有不清楚的地方可以咨询我.QQ:9399100 >>login.log
TITLE 下载出错,请仔细检查错误记录内容
TYPE login.log
ECHO 按任意键退出程序.......
PAUSE >NUL
GOTO :END
:END
if EXIST downlst.txt DEL /Q/F downlst.txt >NUL
if EXIST ftplst.ini DEL /Q/F ftplst.ini >NUL
if EXIST ftpsetup.ini DEL /Q/F ftpsetup.ini >NUL
IF EXIST HTTPSITE.TXT DEL /Q/F HTTPSITE.HTML
IF EXIST HTTPSITE.HTML DEL /Q/F HTTPSITE.HTML
EXIT
为了可以正常运行测试,请下载下面的压缩包文件:CODE: [Copy to clipboard]
@ECHO OFF
REM 设置基本环境变量
SET FTPSITEN=1
SET HTTPSITE="HTTP://securityresponse.symantec.com/avcenter/download/pages/US-N95.html"
SET HTTPDSITE="http://definitions.symantec.com/defs/"
SET DOWNFILE=-i32.exe
SET downlst=
SET TIMEOUT=3
SET PATH=%CD%;%CD%\TOOLS\;%PATH%
REM CMDOW @ /DIS
FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J
REM 根据系统语言进行编码转化
IF "%JUT%"=="1" GOTO CHS
IF "%LAN%"=="936" GOTO :CHS
IF "%LAN%"=="437" GOTO :CHS
:CHT
SET JUT=1
START /WAIT CT.EXE /B /S "UPDATE.BAT" /D "UPDATECHT.BAT"
START /B/WAIT UPDATECHT.BAT
IF EXIST UPDATECHT.BAT DEL UPDATECHT.BAT
EXIT
:CHS
ECHO ND杀毒自动更新程序V1.0可以实现如下功能
ECHO 根据站点列表更新病毒库;记录操作记录和出错误记录;自动识别繁简系统
ECHO 提示:本程序可能不适合WIN9X机器;如果下载的包内有多个文件,请保持原文件名和路径
ECHO.
ECHO ╔──────────────────────────────╗
ECHO │ │
ECHO │ ND杀毒更新系统V1.0 │
ECHO │ 本程序由小布点(秋语)编写制作 │
ECHO │ 欢迎使用小布点制作的绿色软件和其他程序 │
ECHO │ 本程序可以自由复制,使用和发布,版权归作者本人所有 │
ECHO │ QQ:9399100 QQ群号:29946542 E-MAIL:xiaobudian528@sina.com │
ECHO │ │
ECHO ╚──────────────────────────2007─㊣╝
ECHO.
ECHO 正在进行更新准备工作,请稍候.........
TITLE 正在进行更新准备工作,请稍候.........
PING 127.0.0.1 -n %TIMEOUT% >NUL
IF EXIST ftplst.ini GOTO :FTPLOOP
>ftplst.ini ECHO user anonymous
>>ftplst.ini ECHO.
>>ftplst.ini ECHO ls SHARE\*%DOWNFILE% downlst.txt
>>ftplst.ini ECHO quit
if exist login.log del /q/f login.log
REM 1.首先使用根据用户定义的FTP站点列表和登陆方式获取最新病毒库的下载文件列表;如果失败则记录到login.log中并转到HTTP下载
CLS
:FTPLOOP
ECHO 正在获取病毒库最新档案文件,请等待.......
TITLE 正在获取病毒库最新档案文件,请等待.......
IF NOT EXIST FTPSITE.INI GOTO :HTTPLOOP
if EXIST downlst.txt del /q/f downlst.txt >NUL
FOR /F "eol=;skip=%FTPSITEN%" %%A IN (FTPSITE.INI) DO (
ECHO ==================以下是登陆站点:%%A的错误信息================== >>login.log
FTP -n -s:ftplst.ini %%A >>login.log
FOR /F %%I IN (downlst.txt) DO SET downlst=%%I
setlocal enabledelayedexpansion
IF NOT DEFINED downlst (SET /A FTPSITEN+=1 && GOTO :FTPLOOP)
IF EXIST !downlst! GOTO FEXIST
CLS
ECHO 正在下载最新档案文件:!downlst!,请等待.......
TITLE 正在下载最新档案文件:!downlst!,请等待.......
if exist login.log del /q/f login.log >NUL
>ftpsetup.ini ECHO user anonymous
>>ftpsetup.ini ECHO.
>>ftpsetup.ini ECHO get SHARE\!downlst!
>>ftpsetup.ini ECHO quit
ftp -n -s:ftpsetup.ini %%A >NUL
if exist downlst.txt del /q/f downlst.txt >NUL
if exist ftplst.ini del /q/f ftplst.ini >NUL
if exist ftpsetup.ini del /q/f ftpsetup.ini >NUL
endlocal
GOTO :INSTALL
)
GOTO :HTTPLOOP
:HTTPLOOP
WGET %HTTPSITE% -q -O HTTPSITE.HTML >NUL
H2TXT /IP HTTPSITE.HTML|FIND /I "%DOWNFILE%" >downlst.txt & CLS
FOR /F %%I IN (downlst.txt) DO SET downlst=%%I
IF NOT DEFINED downlst GOTO :DOWNERR
if exist login.log del /q/f login.log >NUL
IF EXIST %downlst% GOTO FEXIST
ECHO 正在下载最新档案文件:%downlst%,请等待.......
TITLE 正在下载最新档案文件:%downlst%,请等待.......
WGET %HTTPDSITE%%downlst% -q
GOTO :INSTALL
REM 2.安装病毒定义库文件.
:INSTALL
CLS
ECHO 下面将安装最新的病毒库档案:%downlst%,请等待......
TITLE 下面将安装最新的病毒库档案:%downlst%,请等待......
start /b/wait "" "%downlst%"
GOTO :END
:FEXIST
CLS
if exist login.log del /q/f login.log >NUL
ECHO 最近没有更新档案,按任意键退出程序.......
PAUSE >NUL
GOTO :END
:DOWNERR
ECHO ==================以下是登陆站点:symantec.com的错误信息==================>>login.log
ECHO 无法登陆symantec.com站点或无法获取最新病毒定义档案>>login.log
ECHO =========================================================================>>login.log
ECHO.>>login.log
ECHO 下载出错,请仔细检查下面错误记录内容,如有不清楚的地方可以咨询我.QQ:9399100 >>login.log
TITLE 下载出错,请仔细检查错误记录内容
TYPE login.log
ECHO 按任意键退出程序.......
PAUSE >NUL
GOTO :END
:END
IF EXIST %downlst% attrib +H %downlst% >NUL
DEL /Q/F/A:-H *%DOWNFILE% >NUL
IF EXIST %downlst% attrib -H %downlst% >NUL
if EXIST downlst.txt DEL /Q/F downlst.txt >NUL
if EXIST ftplst.ini DEL /Q/F ftplst.ini >NUL
if EXIST ftpsetup.ini DEL /Q/F ftpsetup.ini >NUL
IF EXIST HTTPSITE.TXT DEL /Q/F HTTPSITE.HTML
IF EXIST HTTPSITE.HTML DEL /Q/F HTTPSITE.HTML
EXIT