9

Symantec更新包[XP-i32]在线下载脚本

 3 years ago
source link: https://zhang.ge/324.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Symantec更新包[XP-i32]在线下载脚本

Jager · 12月26日 · 2013年bat · symantec · windows · 更新包 · 运维 2094次已读

编写初衷:公司用的是Symantec杀毒软件,在客户端更新失败的时候,维护人员总是需要手动去下载离线更新包然后到客户端执行,非常麻烦!于是写了这个脚本丢到服务器上建立任务计划,客户端要更新的时候直接脚本调用\\server\symantec\update\20131225-002-i32.exe即可。

脚本名称:Symantec更新包[XP-i32]在线下载工具
脚本功能:主要用于Symantec服务器离线包的自动下载,适用于使用symantec杀毒的企业运维
脚本使用:先在服务器上测试运行是否正常,若无问题直接新建任务计划每天执行一遍脚本,即可保证服务器离线包为最新。
脚本说明:
1.此脚本需要和命令行下载工具wget.exe组合使用(点击下载);
2.默认本地路径为D:\Symantec\Update,若要修改请自行搜索替换(请注意空格)
3.服务器需要联外网功能,若实际情况不允许,可将此脚本丢到能联网的机器上,再加上自动上传代码即可(已略,有需求的请留言)

脚本代码:

@echo off
color 2f
mode con cols=85 lines=22
title Symantec更新包[XP-i32]在线下载工具 Ver 1.3 By Mars.Ge
pushd "%~dp0"
rem 检查是否重复打开工具:
tasklist | findstr /i "wget.exe" >nul && taskkill /f /im wget.exe >nul 2>nul
for /f %%z in ('dir /b "%~dp0"^|FIND "-"') do (
if exist %%z del /s /q /f %%z >nul 2>nul
mode con cols=85 lines=22
rem 获取更新包页面源代码
echo ----------%date%,Symantec更新包下载记录---------->>Sym_Update.log
echo Begin:>>Sym_Update.log
if exist cs-n95.html del /S /Q /F cs-n95.html >nul
if exist csn95.html del /S /Q /F csn95.html >nul
rem 若不需要使用代理下载,请删除双引号之间的内容
wget -e "http_proxy=http://192.168.2.1:3128/" http://www.symantec.com/avcenter/download/pages/CS-N95.html
rem 对比本地更新包与官网
setlocal enabledelayedexpansion
for /f tokens^=2*^ delims^=^" %%i in ('type cs-n95.html ^| findstr /v "v5i32" ^| findstr /i "i32.exe"') do ( set address=%%i for /f "tokens=4 delims=/-" %%a in ("!address!") do set F_date=%%a ) for /f "tokens=1 delims=-" %%f in ('dir /b "D:\Symantec\Update" ^| FIND "-"') do (set O_date=%%f) if !F_date! NEQ !O_date! (echo 发现新版Symantec更新包,下载中,请勿关闭窗口...... echo !time:~0,8!===^>发现新版Symantec更新包[!f_date!],开始下载......>>Sym_Update.log rem 若不需要使用代理下载,请删除双引号之间的内容 wget -c -e "http_proxy=http://192.168.2.1:3128/" "!address!" echo !time:~0,8!===^>Symantec更新包[!f_date!]下载完毕!>>Sym_Update.log echo !time:~0,8!===^>正在重命名旧的更新包,以便更新失败时恢复...>>Sym_Update.log for /f %%m in ('dir /B /S "D:\Symantec\Update"^|FIND "-"') do set Oldpath1=%%m & move /y "%%m" "D:\Symantec\Update\oldPath.exe" >nul if exist cs-n95.html del /S /Q /F cs-n95.html >nul if exist csn95.html del /S /Q /F csn95.html >nul echo !time:~0,8!===^>正在移动更新包.....>>Sym_Update.log for /f %%z in ('dir /b "%~dp0"^|FIND "-"') do set newpath=%%~nxz & copy /y %%z "D:\Symantec\update" if exist "D:\Symantec\update\%newpath%" echo !time:~0,8!===^>移动成功!>>Sym_Update.log if not exist "D:\Symantec\update\%newpath%" move /y "D:\Symantec\Update\oldPath.exe" "%Oldpath1%" >nul && echo !time:~0,8!===^>移动过程 出现未知错误,未成功更新更新包. >>Sym_Update.log && goto ending echo !time:~0,8!===^>正在移除旧版更新包.....>>Sym_Update.log if exist "D:\Symantec\Update\oldPath.exe" del /s /q /f "D:\Symantec\Update\oldPath.exe" taskkill /f /im wget.exe 2>nul 1>nul echo !time:~0,8!===^>恭喜!已成功更新至!F_date!.>>Sym_Update.log if exist cs-n95.html del /S /Q /F cs-n95.html >nul if exist csn95.html del /S /Q /F csn95.html >nul goto ending ) else (echo !time:~0,8!===^>经检测,官网和本地的Symantec更新包日期均为!o_date!,无需更新. >>Sym_Update.log echo=>>Sym_Update.log if exist cs-n95.html del /S /Q /F cs-n95.html >nul if exist csn95.html del /S /Q /F csn95.html >nul ) :ending echo End. >>Sym_Update.log echo=>>Sym_Update.log echo=>>Sym_Update.log exit

此脚本下载的更新包支持一下Symantec版本:
Norton AntiVirus / Norton Internet Security 2007
Norton 360 version 1.0
Norton SystemWorks (all versions)
Symantec Mail Security for Domino v 5.x
Symantec Mail Security for Domino v 7.x
Symantec Mail Security for Domino (32-bit) v 8.0.x
Symantec Mail Security for Microsoft Exchange
Symantec Scan Engine 5.x for Windows
Symantec AntiVirus for Caching/Messaging/NAS for Windows
其他版本需要自行修改脚本链接地址(需要分析下载页面,有需求的可以留言)。

Ps:估计很多朋友也用不到,但是还是贴上来了,只要代码中能有供你参考的内容就好!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK