Batch file 如何使用批处理快速检查wmic产品是否存在?

Batch file 如何使用批处理快速检查wmic产品是否存在?,batch-file,product,uninstallation,wmic,querying,Batch File,Product,Uninstallation,Wmic,Querying,我正在尝试使用以下方法卸载软件: wmic product where name="XXXXXXX" call uninstall 如何在不查询所有产品的情况下快速检查wmic产品是否存在批处理文件,这可能需要一些时间才能执行批处理 谢谢 reg query可以说是最快的方法,但理论上并不可靠 reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /f "Exact Product Name" /

我正在尝试使用以下方法卸载软件:

wmic product where name="XXXXXXX" call uninstall
如何在不查询所有产品的情况下快速检查wmic产品是否存在批处理文件,这可能需要一些时间才能执行批处理


谢谢

reg query
可以说是最快的方法,但理论上并不可靠

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /f "Exact Product Name" /s /d /e|find "DisplayName">nul
if errorlevel 1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Installer\UserData /f "Exact Product Name" /s /d /e|find "DisplayName">nul
if errorlevel 1 echo "Exact Product Name" NOT FOUND IN REGISTRY
要查找包含Microsoft的所有确切产品名称,请执行以下操作:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /s /v "DisplayName" | find "Microsoft"

reg query
可以说是最快的方法,但理论上并不可靠

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /f "Exact Product Name" /s /d /e|find "DisplayName">nul
if errorlevel 1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Installer\UserData /f "Exact Product Name" /s /d /e|find "DisplayName">nul
if errorlevel 1 echo "Exact Product Name" NOT FOUND IN REGISTRY
要查找包含Microsoft的所有确切产品名称,请执行以下操作:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData /s /v "DisplayName" | find "Microsoft"

我在哪里可以找到“精确”名称和“显示”名称?即使我卸载了它并再次运行代码,它也显示了一个错误0。嗯。。。可能是因为你在使用linux,而我在使用windows?我不太确定。我将您的“if errorlevel 1”更改为“if%errorlevel%equ 1”,它似乎有效。这有意义吗?好的。现在我正在检查是否安装了64位应用程序。我不能用wmic找到确切的名字。控制面板卸载程序名称无效。你知道我怎样才能找到正确的名字吗。删除
/e
2。保持
DisplayName
不变:
reg查询/s/v“DisplayName”| find“Microsoft”
基本上它列出了名为DisplayName的所有记录的值,然后用词Microsoft过滤列表。我在哪里可以找到“确切”名称和“display”名称?即使我卸载了它并再次运行代码,它也显示了一个错误0。嗯。。。可能是因为你在使用linux,而我在使用windows?我不太确定。我将您的“if errorlevel 1”更改为“if%errorlevel%equ 1”,它似乎有效。这有意义吗?好的。现在我正在检查是否安装了64位应用程序。我不能用wmic找到确切的名字。控制面板卸载程序名称无效。你知道我怎样才能找到正确的名字吗。删除
/e
2。保持
DisplayName
不变:
reg查询/s/v“DisplayName”| find“Microsoft”
基本上它列出了名为DisplayName的所有记录的值,然后按单词Microsoft过滤列表。