为什么这个 wmic 命令在批处理文件中不起作用

Why does this wmic command not work in a batch file

我有一组程序需要通过批处理文件进行安装、卸载等。 所以我的批处理文件包含这一行

wmic product where name="ABCcorp Tool" get version

工作正常,除了这个工具

wmic product where name="XYZ® Tool" get version

它只打印

No Instance(s) Available.

如果我 运行 直接通过命令行(管理员 运行)

怀疑注册标志是罪魁祸首我将其更改为

wmic product where "Name like 'XYZ%'" get version

同样的问题:直接在命令行上运行,而不是通过批处理文件运行。 我应该在这里做什么?

这与其说是解决方案,不如说是一种变通方法。 我想出了如何正确获取 "Name like" 的方法。基本上应该是

wmic product where "Name like 'XYZ%%'" get version

在批处理文件中,因为 % 是需要转义的特殊字符。

所以我的问题已经解决了,但是如果有人知道如何用“®”符号来做,它可能对其他人有用。