Windows – Uninstalling multiple programs in Windows 7

control-paneluninstallwindows 7

This question has a different intent than "Why can't you uninstall multiple programs at once in Windows?"

The answers in that question focused strictly on why windows doesn't allow "simultaneous" de-installation of programs.

I am interested in how to uninstall multiple programs WITHOUT clicking on endless "are you sure?" or dialogs nagging me about dependencies for each item I intend to delete. I don't care if the programs are removed one at a time, or simultaneously as long as I don't have to sit there, selecting each program and answering dialogs about it. In a situation where you need to remove 20+ items, this can add up to a lot of time.

There has to be some simple way to do this, right?

The way that I do it now is I go to Control panel, type in a search term in the "Search Programs and Features" textbox, and then individually delete each item that I need to delete. This is fine for 1 or 2 items, but If there are many then what are the options? I wish I could just make multiple selections and have it non-interactively uninstall (after perhaps asking if I am super-duper-sure).

Although this question is similar to "Uninstalling programs silently via CMD", the accepted answer here provides a method to easily search-for and uninstall programs. This is substantially different than creating a script to delete any one program "silently" via a script. One of the other answers also gives a GUI alternative for deleting multiple programs– again, very different from the other question.

Best Answer

You could use PowerShell and WMI to find programs based on search patterns, and then issue an uninstall.

Here's an example script I've used successfully many times:

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

foreach ($app in $apps) {
    "Name = " + $

So, for example, changing the filter to '%Microsoft%' would attempt to uninstall every program listed in Add/Remove programs that has the word "Microsoft" in its name.

You could also expand on WMI query (WQL) with OR commands to search for more than one pattern at the same time.

More info: