如何编写bat文件一次性安装所有系统补丁?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写bat文件一次性安装所有系统补丁?相关的知识,希望对你有一定的参考价值。

我装完操作系统后,需要安装操作系统的安全补丁,但是一个一个装会很慢,而且每次需要重启,编写bat文件应该可行?谁教我一下,怎么编写?具体命令和格式,如何控制,自动检测已经安装过的补丁就不在安装等等。

<第一种方法>

⒈假设已经下载了“Windows XP”的Q111111.exe......Qnnnnnn“N”个系统更新补丁文件,将这
“N”个系统更新补丁文件和从http://www.yesky.com/imagesnew/software/030917/psshutdown.zip
下载的“psshutdown”拷贝到任意盘符的非中文名的文件夹中,例如“HotFix”。
⒉用记事本编辑以下内容:
@echo off
title 正在安装N项重要更新,需要较长时间,请稍候……
CLS
@echo off
ECHO.
ECHO 下面将自动安装Windows XP 简体中文版 微软官方发布的N个重要更新补丁!
ECHO.
ECHO 请不要关闭此窗口!
ECHO.
ECHO 准备安装 Windows XP 补丁程序
ECHO.
@echo On
@echo 正在安装第1项更新:Q111111.exe ......
@echo off
start /wait Q111111.exe -z -q
@echo On
@echo ...... 安装完成;
.
.
.
... N ...
.
.
@echo On
@echo 正在安装第N项更新:Qnnnnnn.exe ......
@echo off
start /wait Qnnnnnn.exe -z -q
@echo On
@echo ...... 安装完成; .

ECHO.
ECHO Restarting the PC in 1 minute...
psshutdown.exe -r -t 60 -f -m "更新安装已经全部完成!请关闭所有正在运行的其它程序!保存好所有必须保存的数据!系统将在60秒后重新启动!现在进入倒计时......"
将其保存后缀名为".bat"的批处理文件,例如“HotFix.bat”并将其同样保存在文件夹“HotFix”中。
小提示:
Windows Update命令参数含义:
[-U][-f][-o][-z][-q][-I]
-U 表示Unattended模式,即无人参予模式
-f 在关机时强行关闭其他程序
-o 覆盖OEM文件,不提示
-z 表示安装后不重新启动计算机
-q 表示安装的过程中不出现提示信息
-I 表示列出安装的修补程序
参数获得:
假如补丁为E:\Q111111.exe,在“运行”中写:
E:\Q111111.exe /?就可以得到补丁安装时可
以添加的参数。
⒊启动“Win RAR”程序,在程序主窗口中点击工具栏“文件”,在下拉菜单中选点“浏览文件夹”,
选中“Windows XP”,点“确定”。再次点击工具栏“文件”,点选“全部选定”。继续点击工具栏“命
令”,在下拉菜单中选点“添加文件到压缩文件中”。打开“压缩文件名和参数”,在“压缩文件名”中
输入“Windows XP HotFix”文件名,勾选“创建自解压格式压缩文件”。切换到“高级”属性页,点击
“自解压选项”按钮。在“高级自解压选项”中的"常规"属性页“的“解压后运行”的对话框里输入批处
理文件名“HotFix”,在“模式”属性页勾选“解包到临时文件夹”,视情设好“可选的询问”和“询问
标题”。在“安静模式中”中点选“全部显示”、在“覆盖方式”中点选“覆盖所有文件”!如还想个性
化,则还可以依次向后......按需勾填有关项目......点两次确定退出后,WinRAR开始创建需要的自解压
压缩文件.
⒋经过上述3步,以后在重装操作系统后,只需运行该自解压文件即可自动完成所有补丁的安装工作.

注意: 如果要求安装完成立即退出,不重新启动系统,则不需要“psshutdown”文件,且必须将最后
一段用如下命令行直接替代:
:finish
@echo on
@echo 安装全部完成,请按任意键退出!
@echo off
@pause
@color 07
@echo on

<第二种方法>

我没有用过你说的那个软件!我用的是微软的小工具!然后在写个批处理 就可以安装了!
@echo off
setlocal
set ATHTOFIXES=XPSP2-okok-eng
%WindowsXP-KB899589-x86-ENU -z -q
%ATHTOFIXES%qchain.exe
其中set ATHTOFIXES=XPSP2-okok-eng 中的XPSP2-okok-eng 是那个软件和补丁在的文件夹的名称!在%WindowsXP-KB899589-x86-ENU -z -q 中是补丁的名称你也可以把补丁 改成简单的名字然后填在% 和-z -q的中间 要注意的是在-z -q的-前有个空格!“)
参考技术A bat是dos下的批处理文件

批处理运用:查常见病毒

其实,对于上网的人来说,遇到病毒是在所难免的。然而,如果真的不幸感染,怎样才能发现呢?难道真的要买昂贵的杀毒软件吗?不一定。

我们可以编写批处理来查一些常见的网络病毒。如果确认感染病毒,可以下载专用杀毒工具进行查杀,或采取其他途径杀毒。

下面,我以欢乐时光为例进行分析:

主文件:1.bat
其它文件:2.bat 3.bat

1.bat代码:
@if exist c:\folder.htt call 2.bat
@if exist d:\folder.htt call 2.bat
@if exist e:\folder.htt call 2.bat
@if exist f:\folder.htt call 2.bat

2.bat代码:
@echo 发现欢乐时光病毒!
@call 3.bat
@pause

3.bat代码:
@c:
@dir *.htt *.ini /s/a>1.txt
@d:
@dir *.htt *.ini /s/a>1.txt
@e:
@dir *.htt *.ini /s/a>1.txt

这样,如果中毒,那么必定会存在大量folder.htt和Desktop.ini,通过这样可以粗略的检查计算机是否感染病毒。

批处理运用三:文件处理

假设,我要大规模的做文件的移动、删除等,如果在Windows里操作不免会出现错误,而且这些错误不易察觉。因此,用批处理进行操作,不但简单易行,而且容易发现错误并可以及时纠正。

例如,我要将D盘的htm文件移动到E盘,再格式化D盘,然后将文件移回D盘,并改后缀为html

1.bat代码:
@E:
@Md d
@D:
@Copy *.htm e:\d
@if exist e:\d\*.htm call 2.bat

2.bat代码:
@Format d:/q
@Copy e:\d\*.htm d:
@D:
@Ren *.htm *.html
参考技术B 建议你使用 360安全卫士 的系统漏洞检测功能。可以自动检测出已知漏洞并从微软网站下载相应补丁,所有补丁安装完后才提示你重新启动。

如何注册和删除系统服务文件

将bat文件转换为exe文件,并将exe文件制作成系统服务步骤

第一步:建立一个SunnyServer.txt,编写脚本程序,将编写好的程序保存,将SunnyServer.txt改为SunnyServer.bat文件。

第二步:使用Bat_To_Exe_Converter_(x64).exe将SunnyServer.bat文件转为SunnyServer.exe文件

第三步:网上下载微软提供的srvany.exe和instsrv.exe文件。

第四步:将下载下来的srvany.exe和instsrv.exe文件放在同一个文件夹下。例如:C:sunny文件夹下。

第五步:以管理员身份运行cmd.exe,然后进入到DOS命令行下面输入如下命令注册服务:

     C:sunnyinstsrv.exe SunnyServerC:sunnysrvany.exe    

    这个命令是把srvany.exe这个程序注册成了系统服务,回车运行上面的命令,如果注册成功时,命令行会有信息提示注册成功。

第六步:开始 - 运行(或按下键盘上的Windows+R)输入regedit,点击确定或按回车,可以打开注册表编辑器。

    ①、进入注册表在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices下找到刚刚注册的服务名SunnyServer

    ②、在SunnyService 新建一个项,名称为“Parameters”,单击选中它然后在右侧的窗口新建一个字符串值名称为“Application”,将其值设置为你针要做为服务运行的程序的路径,例如我的路径为“C:sunnySunnyService.exe”。

    ③、建立一个AppDirectory指定程序运行的初始目录(可选)。如果你需要把自己注册的服务做得看起来更专业也更好理解的话还可以继续新建一个字符串值名称为“Description”,在其值里面你可以输入你想显示的服务描述。

    技术分享图片

第七步:如果服务运行的程序是在运行后需要界面的,在控制面板里面找到管理工具然后打开服务或者直接运行“Services.msc”命令打开服务,找到刚刚创建的服务右键打开属性,选中登陆选项卡,登陆身份选中本地系统帐户并选中允许服务与桌面交互最后点确定,这样你的服务在启动后就可以看到界面了。

第八步:删除注册的服务

先停止服务,然后用命令“C:sunnyinstsrv.exe SunnyServer remove”删除服务。

 

 

 

以上是关于如何编写bat文件一次性安装所有系统补丁?的主要内容,如果未能解决你的问题,请参考以下文章

linux查看补丁的方法

win7的ms17-010补丁安装不了,显示这个

如何查看电脑已打的补丁

批量安装XP补丁的命令

系统的补丁打不上,该怎么做呢?

如何自动更新sql server补丁