如何从Windows命令行输出中find多个值?

例如,查看是否安装了KB983590:

systeminfo | find "KB983590"

但是,如果我想知道是否安装了多个KB,该怎么办呢?

尝试这个:

 systeminfo | findstr "KB" 

您也可以使用/ i进行不区分大小写的search。 运行findstr /? 为更多的select。

如果您只想search补丁的一个子集,请在条目之间使用空格:

 systeminfo | findstr "KB958488 KB976902 KB976932" 

我会走“find”而不是'findstr'(更简单/更简单)

 systeminfo | find /I "kb" 

你会得到你的名单。

用于/ f更容易组织数据,如

 for /f "tokens=2* delims= " %F IN ('systeminfo ^| find /I "kb"') DO ECHO %F%G%H 

这将从每行的开始摆脱编号的序列。

如果只需要KB #####,则将令牌值更改为仅带2的星号,并将结束的ECHO更改为ECHO%F

 for /f "tokens=2* delims= " %F IN ('systeminfo ^| find /I "kb"') DO ECHO %F%G%H>>"%USERPROFILE%\desktop\systeminfo.txt" 

将它作为一个.TXT文件扔在你的桌面上

当然,如果你想在一个batch file中,确保你的%F有一个额外的%(%% F)