Например, чтобы узнать, установлен ли KB983590:
systeminfo | find "KB983590"
Но что, если я захочу узнать, установлено ли более одного КБ?
Попробуй это:
systeminfo | findstr "KB"
Вы также можете использовать / i для поиска без учета регистра. Запустите findstr /? для еще большего количества вариантов.
Если вы хотите найти только подмножество патчей, используйте пробелы между записями:
systeminfo | findstr "KB958488 KB976902 KB976932"
Вы можете использовать такую строку:
FOR /F "usebackq tokens=5 delims= " %i IN (`netstat -ano ^|find "ESTABLISHED"`) DO @tasklist /fi "pid eq %i" | find "%i"
или, короче, то же самое:
netstat -a -b -n -o | findstr ESTABLISHED || tasklist | findstr PID
Я бы пошел по маршруту find вместо findstr (проще / проще)
systeminfo | find /I "kb"
вы получите свой список.
используйте for / 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
конечно, если вы хотите это в пакетном файле, убедитесь, что ваш% F имеет дополнительный% (%% F)