使用Rust获取Windows 10/11已安装应用列表
Windows 10 获取已安装应用的命令行方法
Windows有多种命令行工具可以获取已安装应用,以下是几种适合导出为JSON、方便Rust解析的方案:
1. PowerShell(推荐,覆盖桌面应用+UWP应用)
PowerShell可以直接读取注册表获取传统桌面应用,同时支持获取UWP(通用Windows平台)应用,且原生支持JSON导出:
获取传统桌面应用(系统+用户级)
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*, HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* ` | Where-Object { $_.DisplayName -ne $null } ` | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate ` | ConvertTo-Json -Depth 10 > installed_desktop_apps.json
这个命令会遍历系统和用户的卸载注册表项,过滤掉无显示名称的条目,提取关键信息后导出为JSON文件。
获取UWP应用
如果需要包含Microsoft Store安装的UWP应用,执行以下命令:
Get-AppxPackage ` | Select-Object Name, PackageFullName, Publisher, Version ` | ConvertTo-Json -Depth 10 >> installed_all_apps.json
可以将该结果追加到之前的桌面应用JSON文件中,得到完整的已安装应用列表。
2. WMIC命令(兼容旧系统,仅桌面应用)
WMIC是Windows的传统命令行工具,可快速导出桌面应用信息为JSON:
wmic product get name,version,vendor /format:json > installed_apps_wmic.json
注意:WMIC无法获取UWP应用,且部分第三方应用可能不会被识别到。
导出的JSON文件可以直接用Rust的serde+serde_json库解析,处理逻辑和解析MacOS的system_profiler输出类似。
内容的提问来源于stack exchange,提问作者Anji
相关产品推荐
相关产品推荐

