【发布时间】:2022-01-31 01:42:22
【问题描述】:
我的任务是从所有 Windows 10 计算机上卸载“Rhino 6”。如果我跑:
gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Rhino 6" } | select UninstallString
然后我得到一个非常有用的:
UninstallString
---------------
"C:\ProgramData\Package Cache\{680b3429-6aab-4318-a4e1-74347755c79d}\Bootstrapper.exe" /uninstall
所以,我写了这个:
Start-Process "C:\ProgramData\Package Cache\{75519ff1-80d4-4471-96c0-970328e182f1}\Bootstrapper.exe" -ArgumentList "/uninstall -quiet"
这很好用,除了有许多版本的“Rhino 6”并且它们每个都吐出不同的卸载字符串。
如何制作一个执行第一个命令的脚本,然后使用第二个命令中答案的路径,而不会吐出所有其他内容?
【问题讨论】:
-
如果您正在寻找一种通用方法来调用存储在
UninstallString注册表值中的命令行,请参阅this answer。 -
我在那篇帖子中没有看到我的问题的答案。我在问如何去除输出的“UninstallString ---------------”部分,以便我可以将它用作变量。
标签: windows powershell script