在Windows 7中卸载多个程序?


4

这个问题的意图不同于“ 为什么不能在Windows中一次卸载多个程序?

这个问题的答案集中在一起 严格 为什么窗户不允许“ 同时 “卸载程序。

我感兴趣的是如何卸载多个程序而无需点击无数“你确定吗?”或对话框唠叨我打算删除的每个项目的依赖项。我不关心程序是一次删除,还是同时删除,只要我不必坐在那里,选择每个程序并回答有关它的对话框。在需要删除20多个项目的情况下,这可能会占用大量时间。

必须有一些简单的方法来做到这一点,对吧?

我现在这样做的方法是转到“控制”面板,在“搜索程序和功能”文本框中键入搜索词,然后单独删除我需要删除的每个项目。这适用于1或2件物品,但如果有很多则有什么选择?我希望我可以做多个选择,并以非交互式方式卸载(之后可能会问我是否超级坚定)。

虽然这个问题类似于“ 通过CMD静默卸载程序 “,接受的答案 这里 提供了一种轻松搜索和卸载程序的方法。这与创建脚本以通过脚本“静默”删除任何一个程序大不相同。其中一个答案也为删除多个程序提供了一个GUI替代方案 - 再次,与另一个问题非常不同。



1
@ TheUser1024,谢谢,我已经提出了更具体的问题。尽管可以编写卸载脚本,但是创建脚本会有很多设置时间/工作。对于必须重复删除相同内容的用例,这是可以的。
Angelo

Answers:


7

你可以用 电源外壳 WMI 根据搜索模式查找程序,然后发出卸载。

这是我多次成功使用的示例脚本:

$apps = Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Product Name%'"

foreach ($app in $apps) {
    "Name = " + $app.name
    $app.Uninstall()
}

因此,例如,将过滤器更改为 '%Microsoft%' 将尝试卸载其名称中包含“Microsoft”一词的“添加/删除”程序中列出的每个程序。

您还可以扩展WMI查询( WQL OR 用于同时搜索多个模式的命令。

更多信息:


谢谢,这看起来并不太痛苦。会试一试!
Angelo

@ Techie007谢谢,但你怎么做的?我无法将整个代码传递给powershell,(它只需要第一行)。所以我把你的代码放在一个扩展名为.ps1的脚本中。然后我把它放在了窗户上。给了我一个限制错误。我在上面写道 Set-ExecutionPolicy Unrestricted,限制消失了。但是,当我双击链接时,它会在记事本上打开它。当我写脚本的路径并按回车时没有任何反应。 (右键单击/在powershell中运行会打开一个空白窗口)。
JinSnow

我也做到了 set-executionpolicy remotesigned 以防万一...
JinSnow

1
顺便说一下,如果要从特定日期卸载Items,请使用以下选项: $apps = Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE InstallDate like '20170119'" 在2017年1月19日使用安装所有项目 ANDOR
Feirell

1
根据 这里 Get-WmiObject 已在最新版本的Powershell中弃用,现在使用的命令是 Get-CimInstance -ClassName Win32_Product
jat255


0

使用像RevoUninstaller Pro这样的第三方程序效率更高。您只需左键单击要卸载的程序,然后按“快速卸载”,它将按顺序遍历每个程序并提示卸载过程。

每次卸载后,您还可以获得额外搜索的附加服务,以完全清理注册表和剩余文件等。

如果您最初使用RevoUninstall来记录原始安装并不重要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.