|
自动分清补丁的格式
如何在批处理文件中区分这两类不同的补丁呢?最稳妥的办法是找一个小程序检测补丁文件资源信息,如果补丁资源中包括了一个标志压缩文件的可执行文件图标,那么该补丁就是第二类补丁,仅仅使用/Q参数,如果补丁资源中不包括图标,那么就是第一类补丁,可以使用/U /Q /Z参数来安装补丁。
这里给出一个更简单的方法,仅仅使用Windows的内部命令,不需要额外程序了。查找补丁文件中的特征字符串,如果一个字符串仅仅在某一类补丁程序中存在,就可以根据这个来区分补丁的类型。
第一步:如图4,用文本编辑器分别打开WindowsServer2003-
KB823559-x86-ENU.exe 文件和DirectX9-KB819696-x86-ENU.exe文件,可以找到很多特征字符串,如字符串“_SFX_CAB_EXE_PATH”仅仅存在于SFXCAB.EXE类型的补丁中,而字符串“CABINET”和“WEXTRACT”仅仅存在于WEXTRACT.EXE类型的补丁文件中。所以可以用查找字符串的方法来决定补丁文件的类型。

第二步:在“开始→运行”菜单中输入“cmd”,然后进入补丁所在文件夹,运行如下命令,就可以指明该补丁文件需要的参数:
(@findstr _SFX_CAB_EXE_PATH 补丁文件名字 >nul && @echo 参数 /U /Q /Z) @echo 参数 /Q
上面命令的意思是如果查找到字符串_SFX_CAB_EXE_PATH,就说明补丁使用 /U /Q /Z参数 ,否则使用/Q参数。
第三步:运行结果如图5所示。

一劳永逸的简单方法
如果先识别判断,再根据结果加参数,然后再运行批处理,未免太麻烦了。这里给出完整的批处理命令,可以把判断和安装补丁合二为一:
FOR /R %%F IN (*.exe) DO @((@findstr _SFX_CAB_EXE_PATH "%%F" >nul && @start /wait %%F /U /Q /Z ) @start /wait %%F /Q )
qchain.exe
把该批处理文件放在补丁目录,不需要把补丁文件集中到同一个目录中,for命令的/R参数会自动搜索所有子目录。注意:对于2002年12月份后的补丁,基本上不需要使用qchain这个命令,新补丁都内置了这个命令。
| 没有路由密码权限时的鸽子上线方 | 08-23 |
| 完全解析网页后门和挂马 | 04-02 |
| 真实的网络攻击取证纪实 | 03-27 |
| 利用404错误页面挂马 | 03-21 |
| 解密风暴 | 03-21 |
| 社会工程学在黑客中的应用 | 01-02 |
| 轻轻松松解密各种网页木马 | 12-21 |
| SA权限无xp_cmdshell时取权限又一 | 12-14 |
| sqlserver2005中恢复xp_cmdshell | 11-10 |
| 实现无net.exe和net1.exe添加系统 | 10-26 |
| 用U盘轻松去除XP管理员密码 | 10-26 |
| 教你多种保护措施限用移动硬盘 | 10-09 |