国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > OS > Win2003 > 正文

深度分析Win 2003自動升級補丁功能

2024-07-26 00:33:23
字體:
供稿:網(wǎng)友
  有讀者反映使用批處理Windows自動升級文件有問題。有些補丁包安裝時出現(xiàn)了錯誤提示,無法繼續(xù)。

  經(jīng)過研究,發(fā)現(xiàn)這是由于Windows主要有兩類不同的補丁程序,需要使用不同的參數(shù),一旦參數(shù)錯誤,會導(dǎo)致無法安裝,所以對不同補丁需要使用不同的參數(shù)。我們來具體分析一下。

  從圖片看補丁類型

  如圖1,把Windows 2003 Server的補丁文件放在同一個目錄,
  可以清楚地看到補丁文件名字前面的圖標有兩種類型,一種是簡單的可執(zhí)行文件圖標,另外一種是標志壓縮文件的可執(zhí)行文件圖標。

  從屬性分析格式

  WindowsServer2003-KB823559-x86-ENU.exe文件的圖標是一個簡單的可執(zhí)行文件圖標。從圖2中可以看到該補丁的幫助信息,發(fā)現(xiàn)它使用微軟的update程序來安裝補丁。從圖3可以查看該補丁的版本信息,它是由SFXCAB.EXE制作而成,所有其他具有普通可執(zhí)行文件圖標的補丁程序都有類似性質(zhì)。


  DirectX9-KB819696-x86-ENU.exe文件的圖標是一個標志壓縮文件的可執(zhí)行文件圖標,可以查看該補丁的幫助信息。它所認識的參數(shù)不包括/U和/Z,如果使用/U 參數(shù)來運行就會產(chǎn)生錯誤。同樣,查看該補丁的版本信息,可以看出DirectX9-KB819696-x86-ENU這個補丁是由WEXTRACT.EXE而來的,所有其他的具有標志壓縮文件的可執(zhí)行文件圖標的補丁程序也都有類似特征。

  現(xiàn)在很清楚了Windows有兩類不同的補丁,使用不同的補丁程序,需要參數(shù)也不一樣。

  自動分清補丁的格式

  如何在批處理文件中區(qū)分這兩類不同的補丁呢?最穩(wěn)妥的辦法是找一個小程序檢測補丁文件資源信息,如果補丁資源中包括了一個標志壓縮文件的可執(zhí)行文件圖標,那么該補丁就是第二類補丁,僅僅使用/Q參數(shù),如果補丁資源中不包括圖標,那么就是第一類補丁,可以使用/U /Q /Z參數(shù)來安裝補丁。

  這里給出一個更簡單的方法,僅僅使用Windows的內(nèi)部命令,不需要額外程序了。查找補丁文件中的特征字符串,如果一個字符串僅僅在某一類補丁程序中存在,就可以根據(jù)這個來區(qū)分補丁的類型。

  第一步:如圖4,用文本編輯器分別打開WindowsServer2003-
  KB823559-x86-ENU.exe 文件和DirectX9-KB819696-x86-ENU.exe文件,可以找到很多特征字符串,如字符串“_SFX_CAB_EXE_PATH”僅僅存在于SFXCAB.EXE類型的補丁中,而字符串“CABINET”和“WEXTRACT”僅僅存在于WEXTRACT.EXE類型的補丁文件中。所以可以用查找字符串的方法來決定補丁文件的類型。





  第二步:在“開始→運行”菜單中輸入“cmd”,然后進入補丁所在文件夾,運行如下命令,就可以指明該補丁文件需要的參數(shù):

  (@findstr _SFX_CAB_EXE_PATH 補丁文件名字 >nul && @echo 參數(shù) /U /Q /Z) || @echo 參數(shù) /Q

  上面命令的意思是如果查找到字符串_SFX_CAB_EXE_PATH,就說明補丁使用 /U /Q /Z參數(shù) ,否則使用/Q參數(shù)。

  第三步:運行結(jié)果如圖5所示。


  一勞永逸的簡單方法

  如果先識別判斷,再根據(jù)結(jié)果加參數(shù),然后再運行批處理,未免太麻煩了。這里給出完整的批處理命令,可以把判斷和安裝補丁合二為一:
  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參數(shù)會自動搜索所有子目錄。注意:對于2002年12月份后的補丁,基本上不需要使用qchain這個命令,新補丁都內(nèi)置了這個命令。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 通山县| 剑阁县| 丹江口市| 鄱阳县| 奉节县| 台山市| 屏东市| 洪雅县| 肇东市| 那曲县| 观塘区| 闵行区| 常山县| 灵台县| 航空| 会宁县| 游戏| 遂溪县| 东乡族自治县| 二连浩特市| 玉山县| 余庆县| 七台河市| 万州区| 邵阳市| 沙湾县| 虹口区| 赣州市| 平远县| 麟游县| 健康| 西吉县| 石门县| 金寨县| 安图县| 娱乐| 邹平县| 堆龙德庆县| 永嘉县| 景德镇市| 封丘县|