Como posso encontrar vários valores da saída da linha de comando do Windows?

1

Exemplo, para ver se o KB983590 está instalado:

systeminfo | find "KB983590"

Mas e se eu quisesse saber se mais de um KB foi instalado?

    
por MathewC 27.04.2011 / 16:16

2 respostas

2

Tente isto:

systeminfo | findstr "KB"

Você também pode usar / i para pesquisa sem distinção entre maiúsculas e minúsculas. Run findstr /? para ainda mais opções.

Se você deseja pesquisar apenas um subconjunto de correções, use espaços entre as entradas:

systeminfo | findstr "KB958488 KB976902 KB976932"
    
por 27.04.2011 / 17:15
0

Eu seguiria a rota de 'find' ao invés de 'findstr' (mais simples / fácil)

systeminfo | find /I "kb"

você receberá sua lista.

use para / f para organizar os dados mais facilmente, como

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

que eliminará a sequência numerada desde o início de cada linha.

se você quiser apenas o KB #####, altere o valor dos tokens para apenas 2 sem o asterisco, e mude o ECHO final para apenas ECHO% F

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

vai jogá-lo em sua área de trabalho como um arquivo .TXT

claro, se você quiser um arquivo em lote, certifique-se de que seu% F tenha um% extra (%% F)

    
por 23.05.2011 / 22:43