您的位置:学习中国 软件技巧 操作系统 正文
原作者:kuku 添加时间:2007-06-08 原文发表:2007-06-08 人气:23 来源:互联网


 

有读者反映使用批处理Windows自动升级文件有问题。有些补丁包安装时出现了错误提示,无法继续。
  
  经过研究,发现这是由于Windows主要有两类不同的补丁程序,需要使用不同的参数,一旦参数错误,会导致无法安装,所以对不同补丁需要使用不同的参数。我们来具体分析一下。

  
  从图片看补丁类型
  
  如图1,把Windows 2003 Server的补丁文件放在同一个目录,

可以清楚地看到补丁文件名字前面的图标有两种类型,一种是简单的可执行文件图标,另外一种是标志压缩文件的可执行文件图标.

从属性分析格式
  
  WindowsServer2003-KB823559-x86-ENU.exe文件的图标是一个简单的可执行文件图标。从图2中可以看到该补丁的帮助信息,发现它使用微软的update程序来安装补丁。从图3可以查看该补丁的版本信息,它是由SFXCAB.EXE制作而成,所有其他具有普通可执行文件图标的补丁程序都有类似性质。

 DirectX9-KB819696-x86-ENU.exe文件的图标是一个标志压缩文件的可执行文件图标,可以查看该补丁的帮助信息。它所认识的参数不包括/U和/Z,如果使用/U 参数来运行就会产生错误。同样,查看该补丁的版本信息,可以看出DirectX9-KB819696-x86-ENU这个补丁是由WEXTRACT.EXE而来的,所有其他的具有标志压缩文件的可执行文件图标的补丁程序也都有类似特征。
  
  现在很清楚了Windows有两类不同的补丁,使用不同的补丁程序,需要参数也不一样。
  
  自动分清补丁的格式
  
  如何在批处理文件中区分这两类不同的补丁呢?最稳妥的办法是找一个小程序检测补丁文件资源信息,如果补丁资源中包括了一个标志压缩文件的可执行文件图标,那么该补丁就是第二类补丁,仅仅使用/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这个命令,新补丁都内置了这个命令。 

 

本页地址
相关文章

全面了解Windows操作系统进程及服务
解除IP和MAC捆绑上网限制
Vista系列技巧 弹出窗口及关机优化
Windows XP·实用九招
60个经典的电脑使用技巧
在Windows XP以幻灯片方式浏览图片
在Windows XP中轻松查看Outlook邮箱大小
在Windows XP中强行禁止文件属性修改
在Windows XP中让QQ跑得更快
在Windows XP中实现ADSL虚拟拨号连接
Vista高级搜索命令简单分析
win 2003 的一些优化、加速整理
查出Windows XP中未“签名文件”的来源
WINDOWS系统如何升级
盗版系统开了自动更新不能正常运行怎么办
怎么卸载IE7.0装IE6啊
如何在注册表中删除受限站点
操作系统NTFS与FAT32格式细解
Internet Explorer 的快捷键
一般人绝对不会的电脑小绝技

相关评论


本文章所属分类:首页 软件技巧 操作系统   操作系统