Здесь улучшенная версия, чтобы перечислить все драйверы, включающие версию с использованием Sigcheck от Sysinternals Tools:
@echo off
for /f "tokens=* delims=" %%a in ('driverquery /v /nh /fo csv') do (
SET str=%%a
SETLOCAL enabledelayedexpansion
SET str=!str:","=";"!
for /f "tokens=1,2,14 delims=;" %%d in (!str!) do (
ENDLOCAL
for /f "tokens=* delims=" %%v in ('sigcheck -accepteula -q -n "%%f"') do (
REM echo %%a,^"'%%v^"
echo ^"%%d,%%e,%%f,^"'%%v^"
REM echo ^"%%d,^"'%%v^"
)
)
)
pause
Расширенная версия, которая записывает информацию непосредственно в CSV-файл:
@echo off
set DRIVER_LOG="Drivers_%computername%.csv"
echo Drivers - %computername% - %date% > %DRIVER_LOG%
for /f "tokens=* delims=" %%a in ('driverquery /v /nh /fo csv') do (
SET str=%%a
SETLOCAL enabledelayedexpansion
SET str=!str:","=";"!
for /f "tokens=1,2,14 delims=;" %%d in (!str!) do (
ENDLOCAL
for /f "tokens=* delims=" %%v in ('sigcheck -accepteula -q -n "%%f"') do (
REM echo %%a,^"'%%v^" >> %DRIVER_LOG%
echo ^"%%d,%%e,%%f,^"'%%v^" >> %DRIVER_LOG%
REM echo ^"%%d,^"'%%v^" >> %DRIVER_LOG%
)
)
)
pause
Возможны несколько вариантов ...
... для всех деталей, пожалуйста, используйте:
echo %%a,^"'%%v^"
... для более подробной информации, пожалуйста, используйте (по умолчанию):
echo ^"%%d,%%e,%%f,^"'%%v^"
... для краткой информации, пожалуйста, используйте:
echo ^"%%d,^"'%%v^"
Аннотация: Если вы открываете созданный CSV-файл в Excel и хотите скрыть текстовый знак 'используйте
Найти: "'" и заменить на "" "в Excel (да, это действительно то же самое!)
Этот скрипт был протестирован с Windows XP и Windows 7!
(Для Windows XP используйте более старую версию Sigcheck! например, Sigcheck v2.02)