我已经尝试了几个在网上找到的关于如何使用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
有解决方法吗?
答案 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