如何用wmic列出产品信息?

时间:2017-11-18 21:20:47

标签: batch-file wmic

我已经尝试了几个在网上找到的关于如何使用wmic列出某个产品信息的示例,但直到现在还没有成功。

我可以在下面看到的最后一次尝试是基于this answer的代码,但出现了错误说法:

  

没有可用的实例

@echo off
for /f "skip=1 delims==" %%a in (
     'wmic product where "Name like 'Java'" get name /format:table'
) do (
   for /f "tokens=* delims=" %%# in ("%%a") do  set PROD=%%a
) 
echo %PROD%

pause

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

您需要使用一些带有like WQL operator的通配符来确定给定的字符串是否与指定的模式匹配,例如如下:

@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion
for /f "usebackq skip=1 delims==" %%a in (
    `wmic product where "Name like 'Java%%'" get name /format:table`
) do (
   for /f "tokens=* delims=" %%# in ("%%a") do  (
     set "PROD=%%~#"
     echo !PROD!
   )
)
echo PROD (final value)=%PROD%

示例输出

Java 8 Update 151
Java 8 Update 151 (64-bit)
Java Auto Updater
PROD (final value)=Java Auto Updater

另见https://blogs.technet.microsoft.com/heyscriptingguy/2012/07/13/use-the-like-operator-to-simplify-your-wql-queries/