windows - PS:模拟CCleaner“卸载”工具列出PC上安装的程序
问题描述
CCleaner 包含一个工具,用于列出并卸载 PC 上的程序。此列表似乎以比浏览卸载注册表项更全面的方式包含应用程序。Atom(开源文本编辑器)就是一个例子。该程序不会出现在卸载注册表中,而是安装在用户的 AppData 文件夹中(我不知道在不构建自定义包的情况下为所有用户安装此程序的方法)。
我编写了一个脚本来定期安装和更新某些软件包。这使我可以轻松地让它们保持最新状态,而无需每周访问十几个网站或每次我想更新它们时构建自定义安装程序(它们不会像 Chrome 或 Firefox 那样自动更新)。因此,我需要一个可以动态创建并用于检查更新以及是否需要执行安装程序的列表。
所以我的问题是:我如何模拟 CCleaner 在创建卸载程序列表时所做的事情 - 以编程方式?我可以执行 GUI 并导航到卸载工具并单击“保存到文本文件”,但这不是动态的。任何允许我捕获(在 Powershell 脚本中)CCleaner 在卸载工具中生成的相同应用程序列表的答案都是可以接受的。
解决方案
您也可以使用Get-Package
列出已安装的程序。它将列出 Atom。您可能需要将注册表方法与Get-Package
未显示全部的情况结合起来。
Get-Package | Where-Object name -like *atom*
Name Version Source ProviderName
---- ------- ------ ------------
Atom 1.53.0 Programs
推荐阅读
- python - 试图通过向字典中的键添加多个值来重构。(练习 48 艰难地学习 Python
- reactjs - 在 React Native 中调用方法
- node.js - 使用 npm 服务的位置代理
- python - Tensorflow:如何插入未知张量?
- redis - 谷歌云计算引擎 redis 自动密钥删除
- android - 我正在尝试生成已配对蓝牙设备的可点击列表视图
- javascript - 压缩的 jQuery 文件导致 Chrome 中的内容安全策略错误
- c# - 为什么我不能在ftp服务器上上传?(仅在 IE 中,此代码适用于其他浏览器)
- java - 尝试解析某些 COLUMN 单元格为空的 csv 文件
- python - Python JSON数据加载令人困惑的“预期,分隔符”错误