Win2003里用命令行刷新硬件列表,以扫描硬件改动的实现代码

时间:2022-06-01 14:15:12

如果是想搜索新硬件,还真不知道该用什么命令。系统的PNP可以自动搜索到新硬件,所以估计也没必要手动刷新搜索。
如果是想查看设备的变动,倒是可以用命令行来实现。
方法一、使用WMIC(WMI命令行)
使用WMIC需要管理员权限,第一次运行会进行安装和配置。
运行下面的命令可以把系统中的驱动列表保存到sysdriver.txt:

复制代码 代码如下:


wmic SYSDRIVER get DisplayName >sysdriver.txt


再次运行,然后使用fc就可以判断是否有变动

复制代码 代码如下:


wmic SYSDRIVER get DisplayName >sysdriver1.txt
fc sysdirver.txt sysdriver1.txt


方法二、使用WMI脚本
可以使用js或vbs来运行脚本,不需要管理员权限。
如下方法可以得到驱动类表,然后就可以使用fc比较两次运行的结果了:

复制代码 代码如下:


cscript //NoLogo sysdriver.vbs >sysdriver.txt


sysdriver.vbs内容如下

复制代码 代码如下:


VBScript code
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_SystemDriver", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
WScript.Echo objItem.DisplayName
Next