2013-10-10 70 views
2

我需要這個卸載第一個KB,然後等到完成後再移動卸載下一個KB,我該怎麼做?我如何使MS更新批量卸載程序工作?

我會把批處理文件已經格式化的地方,所以其他一些可憐的靈魂不必重新鍵入所有的垃圾...... :)其他人希望迅速卸載大量的更新。我更願意查看所有更新,並檢查與當前安裝的程序的兼容性,當粗心的用戶在Windows 7,Windows Update中激活「自動下載和安裝」選項時,所有這些更新都已安裝。有大約100個,所以我不想單獨點擊每個提示...(「粗心的用戶」,他大約2英尺高,3歲,只是學習點擊東西做東西....)

wusa /uninstall /kb:KB2532531 /passive /norestart 

wusa /uninstall /kb:KB2598845 /passive /norestart 

wusa /uninstall /kb:KB2732487 /passive /norestart 

wusa /uninstall /kb:KB2846960 /passive /norestart 

wusa /uninstall /kb:KB2852386 /passive /norestart 

wusa /uninstall /kb:KB2861191 /passive /norestart 

回答

0

使用您的命令行,然後start "" /w將一次,因爲他們終止。

@echo off 
for %%a in (
KB2532531 
KB2598845 
KB2732487 
KB2846960 
KB2852386 
KB2861191 
) do start "" /w wusa /uninstall /kb:%%a /passive /norestart 
+0

我不太明白這是什麼意思,我用%% a替換所有數字嗎?或將開始「」/ w wusa/uninstall/kb:KB2852386/quiet/norestart work? – user2867220

+0

我試過兩種方式但是它一直告訴我我需要字段,這是MSU文件的完整路徑,我不知道在哪裏可以找到 – user2867220

+0

該代碼將每個KB號碼(如列出的)替換爲% %一個可替換的參數並運行該命令。我不知道你得到的錯誤,因爲我剛剛使用了你展示的命令行。 – foxidrive

2

本頁面上的內容對我而言不起作用,所以我對其進行了一些改動,所以它會起作用。我不得不改變/被動到/安靜,因爲我的沒有/被動參數。我也擺脫了@echo,因爲我不明白爲什麼人們在這樣的情況下使用它,在這種情況下,完全回顯消除了所有進度跡象,這意味着我無法監視它正在做什麼。這是什麼工作從我:

for %%a in (
2844286 
2847311 
2849470 
) do start "" /w wusa /uninstall /kb:%%a /quiet /norestart 

我用它來卸載71更新一次。我從上面的代碼改變的另一件事是每個數字前面的KB。我不得不擺脫這個爲我工作。我不知道爲什麼我的是不同的,但對於任何使用其他代碼而出錯的人,請嘗試一下。

+0

僅供參考,以下是superuser.com上的類似帖子:http://superuser.com/questions/746799/how-can-i-install-hotfixes-silently-to-speed-up-a-fresh-windows- 7安裝和一個在stackoverflow:http://stackoverflow.com/questions/23378401/discovering-command-line-switches –

1

這是我用於windows server 2008 R2的一個。只需將腳本保存爲.bat文件並雙擊即可運行它。只需將括號內的7位數字更改爲您想要卸載的KBXXXXXX即可。我想看到它運行,所以我不擔心回聲。節省了一堆時間。

for %%a in (
2820331 
2834140 
) do start "" /w wusa /uninstall /kb:%%a /quiet /norestart 
END