CCleaner 包含一个用于列出并卸载 PC 上的程序的工具。该列表似乎比浏览 uninstall registry keys 更全面地包含应用程序。 。 Atom(开源文本编辑器)就是一个例子。该程序不会出现在卸载注册表中,而是安装在用户的 AppData 文件夹中(我不知道如何在不构建自定义包的情况下 install this for all users )。
我编写了一个定期安装和更新某些软件包的脚本。这使我可以轻松地让它们保持最新状态,而无需每周访问十几个网站或 building a custom installer每次我想更新它们时(它们不像 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
关于windows - PS : Emulate CCleaner "Uninstall" tool to list programs installed on PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64931791/