Usuario del software
2012-07-10 19:45:02 +0000 2012-07-10 19:45:02 +0000
31

Lista de todos los programas instalados en el PC

¿Hay algo integrado en Windows que me permita hacer una lista de todos los programas instalados en un ordenador de forma que se pueda copiar/pegar en una hoja de cálculo? Sé que hay software que puede hacer esto, pero no puedo instalar nada. Preferiría no utilizar un archivo por lotes si es posible, pero imagino que va a ser la única manera. Lo ideal sería poder sacar la misma información que se muestra en la vista (no ampliada) del formulario de añadir/quitar programas.

Respuestas [8]

41
2012-07-10 19:58:16 +0000

Enciende tu consola y escribe:

wmic product get name,version

Tarda un rato, pero obtendrá la lista completa de programas instalados. WMIC es la versión de consola de Windows Management Instrumentation, disponible a partir de Windows 2000. Siguiendo las instrucciones aquí y aquí , puedes decirle a WMIC que salga en un formato XML, que podría ser un poco más conveniente para ti. Sin embargo, sólo llamando a wmic product get name obtendrá una lista de nombres de aplicaciones, que puede copiar y pegar fácilmente en un editor de texto y convertir en formato de hoja de cálculo.

Como alternativa, introduzca:

wmic /output:C:\InstallList.txt product get name,version

Esto producirá un archivo TXT con la lista de programas. Si lo desea, puede pegarlo en una hoja de cálculo.

Fuente: http://helpdeskgeek.com/how-to/generate-a-list-of-installed-programs-in-windows/

  • *

También puede utilizar el archivo csv.xsl para formatear la salida en una lista CSV de resultados:

wmic /output:C:\InstallList.csv product get /format:csv.xsl

o el archivo htable.xsl para crear una tabla HTML de resultados:

wmic /output:C:\InstallList.htm product get /format:hform.xsl
41
8
2012-07-10 19:54:54 +0000

Ejecute wmic product get para obtener una lista de software instalado, debería ser exactamente la misma lista que la de añadir/quitar programas.

Supuestamente puedes hacer que salga en un formato específico, pero no lo he probado.

(Use wmic product get /? para ver los parámetros incluyendo el formato de salida, traté de incluirlo aquí pero el formato no era del todo correcto).

8
5
2012-07-10 20:13:18 +0000

Como otros han mencionado, puede obtener esta información con una consulta WMI para los objetos Win32_Product. PowerShell incluso lo volcará a un archivo CSV para usted si lo desea.

Get-WmiObject -Class "Win32_Product" | Export-CSV (Join-Path $home "Win32_Product.csv")

Sin embargo, debería buscar los objetos Win32_Product . No todo son gominolas y piruletas.

5
4
2014-10-09 19:14:03 +0000

WMIC no funcionará en un Servidor a menos que haya instalado explícitamente Management and Monitoring Tools en el menú Add/Remove Windows Components ](http://winwoes.blogspot.com/2008/12/wmic-product-returns-invalid-class.html).

Otra solución es ir al Registro y mirar todos los Programas Desinstalables yendo a:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Tendrás que hacer clic en cada uno individualmente para ver el valor, así que en su lugar, puedes hacer clic derecho en la carpeta Uninstall y seleccionar Exportar. Asegúrese de que el Rango de exportación está configurado para incluir sólo la Rama seleccionada:

^(?!"DisplayName").+

Entonces puede abrir el archivo .reg en el bloc de notas++, pero va a obtener un montón de información extra en cada aplicación:

.reg

Puedes deshacerte de todas las líneas que no empiecen por "DisplayName" comparándolas con la siguiente regex :

("DisplayName"="|")

Luego puede eliminar cualquier cadena "DisplayName" o " haciendo coincidir con la siguiente regex :

^(.*)(\r?\n)+$

Luego puede eliminar cualquier línea duplicada haciendo coincidir en la siguiente regex :

Selected Branch

O puede simplemente ordenar las líneas alfabéticamente y luego eliminar las que estén en blanco

4
3
2013-07-11 10:53:37 +0000

La forma más fácil que encontré es ejecutar el ccleaner de piriform.
Este tiene un botón en Herramientas -> Desinstalar -> "guardar en un archivo de texto"

3
0
2017-03-05 15:59:46 +0000

Otras dos soluciones que no son de línea de comandos y que no se han mencionado anteriormente son:

  1. MyUninstaller - un programa gratuito de NirSoft que, además de desinstalar, puede exportar a HTML una lista completa de todo el software instalado que incluye mucha información adicional. Tiene la ventaja de ser portátil. Aunque no está "integrado", puedes ejecutarlo desde una unidad USB. Puedes encontrarlo aquí .

  2. Belarc Advisor - un programa gratuito (para uso personal) que hace un análisis de seguridad y un inventario completo del hardware y software de su ordenador. Está disponible aquí . Lamentablemente, hay que instalarlo, por lo que no satisface plenamente las necesidades del PO, pero puede satisfacer las necesidades de otras personas que tengan la misma pregunta y puedan instalarlo.

0
0
2017-07-12 14:57:08 +0000

La versión codificada en c# instaló programas a través del registro

using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace SoftwareInventory
{
    class Program
    {
        static void Main(string[] args)
        {
            //!!!!! Must be launched with a domain administrator user!!!!!
            Console.ForegroundColor = ConsoleColor.Green;
            StringBuilder sbOutFile = new StringBuilder();
            Console.WriteLine("DisplayName;IdentifyingNumber");
            sbOutFile.AppendLine("Machine;DisplayName;Version");

            //Retrieve machine name from the file :File_In/collectionMachines.txt
            //string[] lines = new string[] { "NameMachine" };
            string[] lines = File.ReadAllLines(@"File_In/collectionMachines.txt");
            foreach (var machine in lines)
            {
                //Retrieve the list of installed programs for each extrapolated machine name
                var registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
                using (Microsoft.Win32.RegistryKey key = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, machine).OpenSubKey(registry_key))
                {
                    foreach (string subkey_name in key.GetSubKeyNames())
                    {
                        using (RegistryKey subkey = key.OpenSubKey(subkey_name))
                        {
                            //Console.WriteLine(subkey.GetValue("DisplayName"));
                            //Console.WriteLine(subkey.GetValue("IdentifyingNumber"));
                            if (subkey.GetValue("DisplayName") != null && subkey.GetValue("DisplayName").ToString().Contains("Visual Studio"))
                            {
                                Console.WriteLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                                sbOutFile.AppendLine(string.Format("{0};{1};{2}", machine, subkey.GetValue("DisplayName"), subkey.GetValue("Version")));
                            }
                        }
                    }
                }
            }
            //CSV file creation
            var fileOutName = string.Format(@"File_Out\{0}_{1}.csv", "Software_Inventory", DateTime.Now.ToString("yyyy_MM_dd_HH_mmssfff"));
            using (var file = new System.IO.StreamWriter(fileOutName))
            {

                file.WriteLine(sbOutFile.ToString());
            }
            //Press enter to continue 
            Console.WriteLine("Press enter to continue !");
            Console.ReadLine();
        }

    }
}
0
0
2016-08-14 20:52:43 +0000

En Windows 7 puedes utilizar un script de PowerShell:

Abra PowerShell haciendo clic en el botón Start y escribiendo powershell en el campo de búsqueda.

A continuación, introduzca el siguiente comando en la ventana de PowerShell:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

Puede eliminar cualquiera de los campos: DisplayName, DisplayVersion, etc. si no los necesita.

Si desea guardar la salida en un archivo, utilice la redirección:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize > C:\temp\AllInstalledPrograms.txt
0