0

我一直在寻找和寻找,并没有想出一个好的答案。我正在尝试在两个位置的注册表中查询软件的 UninstallString。

-HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 
-HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall 

UninstallString需要设置为变量或直接通过管道输入以运行msiexec.exe /x {GUID} /qn.

我希望它在 powershell 或命令中只是我的易用性。

4

1 回答 1

0
@ECHO OFF
SETLOCAL
set "uninstall1=" 
FOR /F "tokens=2*" %%A IN (
   'REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion" /v Uninstall'
) DO (set Uninstall1=%%B)

set uninstall

这应该检索第一个字符串,如果它存在的话。

对第二个字符串重复公式。最后SET uninstall只是报告开始UNINSTALL验证的环境变量。

然后

if defined Uninstall1 msiexec ... "%Uninstall1%"

应该MSIEXEC使用您需要的参数执行(其中...是您的选项 - /x、/qn 等等)

于 2013-04-01T23:00:53.337 回答