здесь улучшенная версия, чтобы перечислить все драйверы включают версию с помощью 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)