批处理如何查看驱动版本?
批处理如何查看驱动版本?下面的批处理不通用,不同的系统注册表位置不相同。
@echo off&color 1f&echo.
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverDesc"') do set DriverDesc=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverVersion"') do set DriverVersion=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverDate"') do set DriverDate=%%j
echo.
echo 显卡名称: %DriverDesc%
echo 驱动版本: %DriverVersion%
echo 驱动日期: %DriverDate%
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-BFC1-08002be10318}\0000" /v "DriverDesc"') do set DriverDesc=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverVersion"') do set DriverVersion=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverDate"') do set DriverDate=%%j
echo.
echo 声卡名称: %DriverDesc%
echo 驱动版本: %DriverVersion%
echo 驱动日期: %DriverDate%
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverDesc"') do set DriverDesc=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverVersion"') do set DriverVersion=%%j
for /f "tokens=2,*" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000" /v "DriverDate"') do set DriverDate=%%j
echo.
echo 网卡名称: %DriverDesc%
echo 驱动版本: %DriverVersion%
echo 驱动日期: %DriverDate%
echo.&echo 按任意键退出...&pause >nul
下面的批处理可以查看显卡驱动版本,声卡和网卡怎么写呢?
@echo off&color 1f&echo.
setlocal enabledelayedexpansion
set /a Row=0
for /f "tokens=2 delims==" %%i in ('Wmic Path Win32_VideoController Get Name^,DriverDate^,DriverVersion /value 2^>nul') do (
set /a Row+=1
if !Row! == 1set Name=%%i
if !Row! == 2set DriverDate=%%i
if !Row! == 3set DriverVersion=%%i
)
echo 显卡名称: %DriverVersion%
echo 驱动版本: %DriverDate%
echo 驱动日期: %Name:~0,4%.%Name:~4,2%.%Name:~6,2%
echo.&echo 按任意键退出...&pause >nul
wmic sounddev
wmic path Win32_networkadapter
junyee 发表于 2020-7-31 12:55
wmic sounddev
wmic path Win32_networkadapter
谢谢解答。wmic sounddev 和 wmic path Win32_networkadapte
只查到声卡网卡名称,没有驱动版本。
本帖最后由 dos时代菜鸟 于 2020-7-31 16:30 编辑
cmd 下运行
dxdiag /t %cd%\x.txt
然后
notepad %cd%\x.txt
就什么都知道了。
下面这个 主要看第三方显卡 声卡
@echo off
setlocalENABLEDELAYEDEXPANSION
if not exist "%temp%\dxdiag.txt" dxdiag /t "%temp%\dxdiag.txt"
set /a ln=0
for /f "tokens=1,2* delims=: " %%c in ('type "%temp%\dxdiag.txt"') do (
if /i "%%c %%d"=="Operating System" (
echo.
echo Operating System = %%e
echo.
)
set Xc=%%c
if "!Xc:~0,1!"=="-"set /a ln=!ln!+1
if !ln! equ 2 set /a ln=0
if !ln! equ 1 set drv_name=%%c %%d %%e
if /i "%%c %%d"=="Driver Name" (
set drvX=%%e
)
if /i "%%c %%d"=="Driver Version" (
if !drvx! neq 0 (
echo drv_name = !drv_name!
echo Drv_file = !drvX!
echo Drv_ver= %%e
echo.
)
set drvX=0
)
)
pause
批处理之家有个纯批处理检测硬件的脚本
http://www.bathome.net/thread-38259-1-1.html dos时代菜鸟 发表于 2020-7-31 15:33
cmd 下运行
dxdiag /t %cd%\x.txt
必需修改才能运行.
if not exist "%temp%\dxdiag.txt" dxdiag /t %temp%\dxdiag.txt
:MyWait
if not exist "%temp%\dxdiag.txt" goto MyWait
谢谢各位回复。
这个 DxDiag /t 太慢了,没有网卡驱动版本的信息。
声卡驱动日期与设备管理器中不同,批处理之家那个bat也是这样。
最准确的信息在注册表,但无法确定位置。
807979023 发表于 2020-7-31 21:00
谢谢各位回复。
这个 DxDiag /t 太慢了,没有网卡驱动版本的信息。
声卡驱动日期与设备管理器中不同,批 ...
要准确的可以直接去读取驱动文件,
自行网上找看有没命令行版本.
用pnputil会不会更快一些? 注册表位置 换成
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
看看,有没有。
因为我看到我这里 的 CurrentControlSet 是 ControlSet001 的一个符号链接而已,而有的系统 可能 并没有被建立。
dos时代菜鸟 发表于 2020-8-1 20:46
注册表位置 换成
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-080 ...
谢谢回复
子项HKLM\SYSTEM\ControlSet001\...与HKLM\SYSTEM\CurrentControlSet\...差不多,
所有系统的以下位置都是一样:
显HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}
声HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}
网HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
但是最后的子项不同,我这里显声网:
xp是 0000 0005 0001
win7x32 是 0000 0000 0009
另一版本win7x32 x64 是 0000 0000 0007
win10x32 x64 是 0000 0000 0000
可能电脑不同,位置又不同,因为有的已升级驱动,需要确定正在使用的是哪个子项。
页:
[1]