QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

[win2003教程] 深度分析Win 2003自动升级补丁功能

深度分析Win 2003自动升级补丁功能

有读者反映使用批处理Windows自动升级文件有问题。有些补丁包安装时出现了错误提示,无法继续。  经过研究,发现这是由于Windows主要有两不同的补丁程序,需要使用不同的参数,一旦参数错误,会导致无法安装,所以对不同补丁需要使用不同的参数。我们来具体分析一下。  F( H# ^, N5 e. u9 a
  从图片看补丁类型  C' E! C+ o1 d& o# w
  如图1,把Windows2003Server的补丁文件放在同一个目录,
6 K& e( |9 F+ m9 v2 c& R! \1 F# U
  h  @0 X" Z$ a/ y1 n3 }7 Q! K+ ~: E  W& q$ D. t" {2 [  p
  可以清楚地看到补丁文件名字前面的图标有两种类型,一种是简单的可执行文件图标,另外一种是标志压缩文件的可执行文件图标。1 b3 p, J& [7 [% P1 X: U
0 m$ _  j0 G2 `) b: @# w* s  f
1 W6 C" S0 e8 E5 b1 s
6 @! v! o# Y% m6 E0 N- r" c
  从属性分析格式
; y5 c6 }: m% S. k1 p) |  WindowsServer2003-KB823559-x86-ENU.exe文件的图标是一个简单的可执行文件图标。从图2中可以看到该补丁的帮助信息,发现它使用微软的update程序来安装补丁。从图3可以查看该补丁的版本信息,它是由SFXCAB.EXE制作而成,所有其他具有普通可执行文件图标的补丁程序都有类似性质。8 ^. h/ C! O: W: z2 v; N3 F1 I  C2 l
+ h8 |6 R5 t9 |2 v  {3 \
) i  p- ^* n' k# k; ~
  DirectX9-KB819696-x86-ENU.exe文件的图标是一个标志压缩文件的可执行文件图标,可以查看该补丁的帮助信息。它所认识的参数不包括/U和/Z,如果使用/U参数来运行就会产生错误。同样,查看该补丁的版本信息,可以看出DirectX9-KB819696-x86-ENU这个补丁是由WEXTRACT.EXE而来的,所有其他的具有标志压缩文件的可执行文件图标的补丁程序也都有类似特征。  现在很清楚了Windows有两类不同的补丁,使用不同的补丁程序,需要参数也不一样。9 ?, L$ H) u: D% x( c. P
  自动分清补丁的格式
' x. u  Q* H" ]+ P  如何在批处理文件中区分这两类不同的补丁呢?最稳妥的办法是找一个小程序检测补丁文件资源信息,如果补丁资源中包括了一个标志压缩文件的可执行文件图标,那么该补丁就是第二类补丁,仅仅使用/Q参数,如果补丁资源中不包括图标,那么就是第一类补丁,可以使用/U/Q/Z参数来安装补丁。
' u$ b7 \' d9 X4 Z5 m5 h  这里给出一个更简单的方法,仅仅使用Windows的内部命令,不需要额外程序了。查找补丁文件中的特征字符串,如果一个字符串仅仅在某一类补丁程序中存在,就可以根据这个来区分补丁的类型。
3 Y: v' w, T) P8 Q& l' y) ^  第一步:如图4,用文本编辑器分别打开WindowsServer2003-
( Y" A$ _' a' r4 ~7 x+ E  KB823559-x86-ENU.exe文件和DirectX9-KB819696-x86-ENU.exe文件,可以找到很多特征字符串,如字符串“_SFX_CAB_EXE_PATH”仅仅存在于SFXCAB.EXE类型的补丁中,而字符串“CABINET”和“WEXTRACT”仅仅存在于WEXTRACT.EXE类型的补丁文件中。所以可以用查找字符串的方法来决定补丁文件的类型。; f, x8 K2 e/ A6 e. v5 f

& r% a- V8 Q& w5 D) G9 s
, [9 T# t: l7 a7 C) O  第二步:在“开始→运行”菜单中输入“cmd”,然后进入补丁所在文件夹,运行如下命令,就可以指明该补丁文件需要的参数:2 v2 E) y% W( ^$ ?
  (@findstr_SFX_CAB_EXE_PATH补丁文件名字%26gt;nul%26%26@echo参数/U/Q/Z)││@echo参数/Q
2 k7 D7 `) a. D- o* D& v% I7 N1 i  上面命令的意思是如果查找到字符串_SFX_CAB_EXE_PATH,就说明补丁使用/U/Q/Z参数,否则使用/Q参数。
, _( F' U+ D3 |9 i  第三步:运行结果如图5所示。& h+ b% }' M: b+ R' N, M
  A( i1 v, z/ p  F0 [% M( A
& F  ~( [- \4 U4 ~, p- @
  一劳永逸的简单方法
# H) c7 h& k! ~+ X/ B  如果先识别判断,再根据结果加参数,然后再运行批处理,未免太麻烦了。这里给出完整的批处理命令,可以把判断和安装补丁合二为一:
6 q' C. a$ ]1 m" _, p  FOR/R%%FIN(*.exe)DO@((@findstr_SFX_CAB_EXE_PATH"%%F"%26gt;nul%26%26@start/wait%%F/U/Q/Z)││@start/wait%%F/Q)
4 Q8 x( S/ |" L, o6 ]3 {5 r! K  qchain.exe4 ]# e3 A: d6 @0 w1 ?3 Z
  把该批处理文件放在补丁目录,不需要把补丁文件集中到同一个目录中,for命令的/R参数会自动搜索所有子目录。注意:对于2002年12月份后的补丁,基本上不需要使用qchain这个命令,新补丁都内置了这个命令。
(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)

TOP

发新话题