无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6777|回复: 10
打印 上一主题 下一主题

[求助] 批处理如何查看驱动版本?

  [复制链接]
跳转到指定楼层
1#
发表于 2020-7-31 11:48:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
批处理如何查看驱动版本?
下面的批处理不通用,不同的系统注册表位置不相同。

  1. @echo off&color 1f&echo.
  2. 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
  3. 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
  4. 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
  5. echo.
  6. echo 显卡名称:    %DriverDesc%
  7. echo 驱动版本:    %DriverVersion%
  8. echo 驱动日期:    %DriverDate%
  9. 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
  10. 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
  11. 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
  12. echo.
  13. echo 声卡名称:    %DriverDesc%
  14. echo 驱动版本:    %DriverVersion%
  15. echo 驱动日期:    %DriverDate%
  16. 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
  17. 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
  18. 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
  19. echo.
  20. echo 网卡名称:    %DriverDesc%
  21. echo 驱动版本:    %DriverVersion%
  22. echo 驱动日期:    %DriverDate%
  23. echo.&echo 按任意键退出...&pause >nul
复制代码
下面的批处理可以查看显卡驱动版本,声卡和网卡怎么写呢?

  1. @echo off&color 1f&echo.
  2. setlocal enabledelayedexpansion
  3. set /a Row=0
  4. for /f "tokens=2 delims==" %%i in ('Wmic Path Win32_VideoController Get Name^,DriverDate^,DriverVersion /value 2^>nul') do (
  5.   set /a Row+=1
  6.   if !Row! == 1  set Name=%%i
  7.   if !Row! == 2  set DriverDate=%%i
  8.   if !Row! == 3  set DriverVersion=%%i
  9. )
  10. echo 显卡名称:    %DriverVersion%
  11. echo 驱动版本:    %DriverDate%
  12. echo 驱动日期:    %Name:~0,4%.%Name:~4,2%.%Name:~6,2%
  13. echo.&echo 按任意键退出...&pause >nul

复制代码



2#
发表于 2020-7-31 12:55:49 | 只看该作者

wmic sounddev

wmic path Win32_networkadapter

点评

谢谢解答。wmic sounddev 和 wmic path Win32_networkadapte 只查到声卡网卡名称,没有驱动版本。  详情 回复 发表于 2020-7-31 14:56
回复

使用道具 举报

3#
 楼主| 发表于 2020-7-31 14:56:08 | 只看该作者
junyee 发表于 2020-7-31 12:55
wmic sounddev

wmic path Win32_networkadapter

谢谢解答。wmic sounddev wmic path Win32_networkadapte

只查到声卡网卡名称,没有驱动版本
回复

使用道具 举报

4#
发表于 2020-7-31 15:33:54 | 只看该作者
本帖最后由 dos时代菜鸟 于 2020-7-31 16:30 编辑

cmd 下运行
dxdiag /t %cd%\x.txt

然后
notepad %cd%\x.txt


就什么都知道了。

下面这个 主要看  第三方  显卡 声卡
  1. @echo off
  2. setlocal  ENABLEDELAYEDEXPANSION
  3. if not exist "%temp%\dxdiag.txt" dxdiag /t "%temp%\dxdiag.txt"
  4. set /a ln=0
  5. for /f "tokens=1,2* delims=: " %%c in ('type "%temp%\dxdiag.txt"') do (
  6.         if /i "%%c %%d"=="Operating System" (
  7.                 echo.
  8.                 echo Operating System = %%e
  9.                 echo.
  10.         )
  11.         set Xc=%%c
  12.         if "!Xc:~0,1!"=="-"  set /a ln=!ln!+1
  13.         if !ln! equ 2 set /a ln=0
  14.         if !ln! equ 1 set drv_name=%%c %%d %%e

  15.         if /i "%%c %%d"=="Driver Name" (
  16.                 set drvX=%%e
  17.         )
  18.         if /i "%%c %%d"=="Driver Version" (
  19.                 if !drvx! neq 0 (
  20.                         echo drv_name = !drv_name!
  21.                         echo Drv_file = !drvX!
  22.                         echo Drv_ver  = %%e
  23.                         echo.
  24.                 )
  25.                 set drvX=0
  26.         )
  27. )
  28. pause
复制代码



点评

必需修改才能运行. if not exist "%temp%\dxdiag.txt" dxdiag /t %temp%\dxdiag.txt :MyWait if not exist "%temp%\dxdiag.txt" goto MyWait  详情 回复 发表于 2020-7-31 17:39
回复

使用道具 举报

5#
发表于 2020-7-31 16:38:44 来自手机 | 只看该作者
批处理之家有个纯批处理检测硬件的脚本

http://www.bathome.net/thread-38259-1-1.html
回复

使用道具 举报

6#
发表于 2020-7-31 17:39:14 | 只看该作者
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

回复

使用道具 举报

7#
 楼主| 发表于 2020-7-31 21:00:44 | 只看该作者
谢谢各位回复。
这个 DxDiag /t 太慢了,没有网卡驱动版本的信息。
声卡驱动日期与设备管理器中不同,批处理之家那个bat也是这样。
最准确的信息在注册表,但无法确定位置。


点评

要准确的可以直接去读取驱动文件, 自行网上找看有没命令行版本. [attachimg]462730[/attachimg] [attachimg]462731[/attachimg] [attachimg]462732[/attachimg]  详情 回复 发表于 2020-8-1 05:25
回复

使用道具 举报

8#
发表于 2020-8-1 05:25:34 | 只看该作者
807979023 发表于 2020-7-31 21:00
谢谢各位回复。
这个 DxDiag /t 太慢了,没有网卡驱动版本的信息。
声卡驱动日期与设备管理器中不同,批 ...

要准确的可以直接去读取驱动文件,
自行网上找看有没命令行版本.







回复

使用道具 举报

9#
发表于 2020-8-1 10:05:15 | 只看该作者
用pnputil会不会更快一些?
回复

使用道具 举报

10#
发表于 2020-8-1 20:46:15 | 只看该作者
注册表位置 换成
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000

看看,有没有。
因为我看到我这里 的 CurrentControlSet 是 ControlSet001 的一个符号链接而已,而有的系统 可能 并没有被建立。

点评

谢谢回复 子项 HKLM\SYSTEM\ControlSet001\... 与 HKLM\SYSTEM\CurrentControlSet\... 差不多, 所有系统的以下位置都是一样: 显 HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BF  详情 回复 发表于 2020-8-2 14:25
回复

使用道具 举报

11#
 楼主| 发表于 2020-8-2 14:25:27 | 只看该作者
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

可能电脑不同,位置又不同,因为有的已升级驱动,需要确定正在使用的是哪个子项。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 06:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表