新萤火虫论坛

 找回密码
 注册
查看: 2424|回复: 2

我收集的系统漏洞安装批处理命令

[复制链接]
发表于 2008-5-24 11:14:46 | 显示全部楼层 |阅读模式
系统漏洞安装批处理命令
对于新安装的系统,需要安装一些最新的系统补丁,如果一个个的手动安装需要花费大量的精力和时间!现在有个快捷的方式,就是使用批处理来安装。首先使用瑞星的漏洞扫描、金山的漏洞扫描、360安全卫士等来扫描并下载所有的补丁硬盘上,统统放到一个单独的文件夹内,并将下列蓝色文字,拷到记事本内制作成批处理程序,也放到该文件夹内,然后运行该批处理程序,即可!
@echo off
for %%i in (*.exe) do %%i /passive /norestart /nobackup
shutdown -r
或用记事本编写一个*.bat文件,复制下面的代码
for %%a in (*.exe) do start /wait %%a -z -q

该批处理程序并非完美无缺,有些补丁安装时会出现错误,但这不会影响整个安装过程,等安装完成后自动重启,重启后再用漏洞扫描程序扫描一次,未修复的漏洞只会有为数不多的几个,下载后手动安装也不会花费太多的时间!

以下批处理只对系统补丁有效,对office补丁无效
我在大部分语句都加上了注释,如看到某个命令的参数不懂,可以运行cmd,输入那个命令,加上/?查看说明,如(for /?)。
现在打补丁是我们需要经常进行的重要事情了,不过补丁多了也是个烦恼
每次重装后都去下载来安装吗?麻烦;
使用网上放出的补丁集?这次下载了某个补丁集,如果微软今天又发新补丁了,又去下载一个差不多100MB的庞大东西吗;
于是我们平常就会下载了一大堆如WindowsXP-KB873339-x86-CHS的补丁,但一个一个安装我死给你看好了-_-
使用一些自动打补丁的软件,如:金山漏洞修复?这个倒是可以,不过自己弄一个比较有成就感^_^

echo off
::关闭显示信息
del list.log /q
::删除上次运行后留下的文件
echo 正在检测已经的安装补丁
for /f "delims=- tokens=2" %%i in ('dir *-kb*.exe /b /on') do REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\%%i" >nul || dir /b *%%i*.exe >>list.log && cls && echo 正在检测已经的安装补丁
::从文件中取出一个补丁的名字,截取中间的补丁标号(如KB873339),到注册表查询这个是否已经安装了,没有就将其存放到list.log文件里
cls
::清屏
for /f "eol=o eol=O " %%j in (list.log) do echo 正在安装补丁%%j && %%j /quiet /norestart
::从list.log文件中取出一个补丁的名字,利用参数(/quiet /norestart)进行安装无人安装
cls
echo 安装了的补丁(list.log):& type list.log | more
::显示安装了的补丁的列表,more是用来防止补丁过多,分屏显示用的
pause
::暂停让别人看列表
del list1.log /q
::删除使用过的list1.log文件
将上面引用的内容复制到记事本里面,然后按另存为,文件类型选择所有文件,文件名为setup.cmd(使用cmd而不用bat是因为cmd对中文名以及长文件名的支持好,况且应该没有人用98而去打补丁吧);
最后将setup.cmd文件放到补丁的目录下,双击即可运行并批量安装补丁,而且可以跳过已经安装了的补丁;

注意:千万不要把补丁的文件名修改掉,要使用原来的文件名,如:WindowsXP-KB873339-x86-CHS

1:开机批处理是做系统时预留的执行服务器上指定程序的通道,这个不用说了。
补丁安装的批处理很简单,首先下好需要的安全补丁,全部放到 同一个文件夹里面,然后打开CMD命令行窗口,进入这个目录,输入命令DIR /B >hotfix.bat,退出命令行,用记事本打开目录内刚才生成的这个批处理文件,把里面的.EXE全部替换成.EXE /U /Z /N   ,记得找到HOTFIX.BAT这一行删掉,就好了.....
2:
for %%i in (sp2\Windows*.exe) do echo %%i /passive /norestart /nobackup>>y.bat
call y.bat
del /q.y.bat
sp2\Windows*.exe你的补本,可以写成决对路径,也支持网络路径。/passive仅显示进度条,/norestart 安装完成后不重启。/nobackup不备份。那样补丁打起快些,而且省些空间
这个批处理有个好处,就是你把补丁放到那个目录,目录中所有的.exe它都会自动运行。
3:用法:把下边的代码保存为.bat文件,然后和补丁放到同一文件夹内,运行即可
@echo off
title 系统补丁批量自动安装
color 1f
cls
echo 补丁安装中......
echo.
for %%i in (*.exe) do %%i /passive /norestart /nobackup
echo 补丁已经全部安装完毕!
echo 请按任意键重启电脑!
echo ......
PAUSE >nul
shutdown -r
4:没什么创新,只是增加了时间显示,用于了解安装所用的时间!
@echo off
title 系统补丁批量自动安装
color 1f
cls
MODE con: COLS=60 LINES=25
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
echo 补丁安装中......
echo.
for %%i in (*.exe) do %%i /passive /norestart /nobackup
ECHO %date% %tm1%点%tm2%分%tm3%秒
echo 补丁已经全部安装完毕!
echo 请按任意键重启电脑!
echo ......
PAUSE >nul
shutdown -r

评分

1

查看全部评分

发表于 2008-5-24 21:18:58 | 显示全部楼层
很不错,很经典
楼主水平高了去了
回复 支持 反对

使用道具 举报

发表于 2008-5-29 09:18:16 | 显示全部楼层
蛮不错的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|萤火虫

GMT++8, 2024-11-27 14:05 , Processed in 0.288350 second(s), 10 queries , File On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表