列出PC上所有已安装的软件

Joe*_*l B 33 windows

Windows 中是否有任何内置功能可以让我以可以复制/粘贴到电子表格的方式列出计算机上所有已安装的软件?我知道有软件可以做到这一点,但我无法安装任何东西。如果可能,我不想使用批处理文件,但我想这将是唯一的方法。理想情况下,我将能够输出与添加/删除程序表单的(未展开的)视图中显示的信息相同的信息。

yan*_*nis 44

启动你的控制台并输入:

wmic product get name,version
Run Code Online (Sandbox Code Playgroud)

这需要一段时间,但您将获得已安装程序的完整列表。WMIC 是 Windows Management Instrumentation 的控制台版本,可从 Windows 2000 及更高版本使用。按照此处此处的说明,您可以告诉 WMIC 以 XML 格式输出,这对您来说可能更方便一些。但是,只需调用即可为wmic product get name您提供应用程序名称列表,您可以轻松地将其复制粘贴到文本编辑器并转换为电子表格格式。

或者,输入:

wmic /output:C:\InstallList.txt product get name,version
Run Code Online (Sandbox Code Playgroud)

这将输出一个包含程序列表的 TXT 文件。然后,您可以根据需要将其粘贴到电子表格中。

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


您也可以使用 csv.xsl 文件将输出格式化为结果的 CSV 列表:

wmic /output:C:\InstallList.csv product get /format:csv.xsl
Run Code Online (Sandbox Code Playgroud)

或 htable.xsl 文件以创建 HTML 结果表:

wmic /output:C:\InstallList.htm product get /format:hform.xsl
Run Code Online (Sandbox Code Playgroud)

  • 遗憾的是,它似乎没有生成与程序和功能中显示的相同的列表:有几个应用程序没有出现在前者中,而有一些应用程序在后者中不存在。一些未显示在 `wmic` 列表中的项目:_我安装的 Steam 游戏、Notepad++、Winmerge、Google 的音乐管理器_。未显示在程序和功能中的项目:_Java 自动更新程序、CAPICOM 安全更新 (KB931906)_。我尝试从管理员 CMD 运行它,但生成的列表是相同的。 (10认同)
  • 如果将 >InstallList.txt 添加到最后,您将获得一个包含输出的文本文件。您所在的当前目录是创建文件的位置。您也可以在版本后添加 ,InstallDate 。这将显示产品的安装日期。这对于整理任何制造商安装的程序非常方便。如果需要,您应该能够在 Excel 中打开此文本文件并对其进行排序。 (2认同)

Mar*_*len 8

运行wmic product get以获取已安装软件的列表,它应该与添加/删除程序的列表完全相同

据说你可以让它以特定格式输出,但我还没有尝试过。

wmic product get /?用于查看包括输出格式在内的参数,我尝试将其包含在此处,但格式不太正确。)


Pat*_*our 5

正如其他人所提到的,您可以使用 Win32_Product 对象的 WMI 查询来获取此信息。如果您愿意,PowerShell 甚至会为您将其转储到 CSV 文件中。

Get-WmiObject -Class "Win32_Product" | Export-CSV (Join-Path $home "Win32_Product.csv")
Run Code Online (Sandbox Code Playgroud)

但是,您应该搜索 Win32_Product 问题。并不是所有的口香糖和棒棒糖。


Kyl*_*Mit 5

除非您已在菜单中明确安装Management and Monitoring ToolsAdd/Remove Windows Components,否则 WMIC 无法在服务器上运行。

另一个解决方案是转到注册表并通过以下方式查看所有可卸载程序:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Run Code Online (Sandbox Code Playgroud)

您必须单独单击每个文件夹才能查看该值,因此您可以右键单击该Uninstall文件夹并选择Export。确保导出范围设置为仅包括选定的分支

选定分行

然后您可以在记事本++中打开该.reg文件,但您将获得有关每个应用程序的大量额外信息:

.reg

您可以通过匹配以下正则表达式来删除所有不以以下方式开头的 行:"DisplayName"

^(?!"DisplayName").+
Run Code Online (Sandbox Code Playgroud)

然后您可以删除任一字符串 "DisplayName""通过匹配以下正则表达式

("DisplayName"="|")
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过匹配以下正则表达式来删除任何重复行

^(.*)(\r?\n\1)+$
Run Code Online (Sandbox Code Playgroud)

或者您可以按字母顺序对行进行排序,然后删除空白行