如何使这个MS更新批量卸载程序工作?

时间:2013-10-10 13:46:45

标签: windows batch-file uninstall

我需要这个卸载第一个KB,然后等到完成后再移动卸载下一个KB,我该怎么办?

我将批处理文件已经格式化,所以其他一些可怜的灵魂不必重新输入所有的废话...... :)其他人希望快速卸载大量的更新。我更喜欢浏览所有更新并检查与我当前安装的程序的兼容性,当一个粗心的用户在Windows 7,Windows更新中激活“自动下载和安装”选项时,所有这些更新都已安装。大约有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

3 个答案:

答案 0 :(得分:2)

这个页面上的东西对我来说不起作用,所以我稍微改了一下它就可以了。我不得不将/被动改为/ quiet,因为我的上没有/被动参数。我也摆脱了@echo,因为我不明白为什么人们在这样的情况下使用它,其中回声完全消除了所有进展的迹象,这意味着我无法监视它正在做什么。这对我有用:

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

我用它来一次卸载71个更新。我从上面的代码改变的另一件事是每个数字前面的KB。我不得不摆脱这个为我工作。我不确定为什么我的不同,但对于那些使用其他代码获取错误的人来说,试试这个。

答案 1 :(得分:1)

这是我用于Windows Server 2008 R2的那个。只需将脚本保存为.bat文件,然后双击它即可运行它。只需将括号中的7位数字更改为要卸载的KBXXXXXX即可。我想看到它运行所以我并不担心回声。节省了很多时间。

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

答案 2 :(得分:0)

使用命令行,start "" /w将在终止时一次执行一个。

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