Win2003里用命令行刷新硬件列表,以掃描硬件改動(dòng)的實(shí)現(xiàn)代碼

字號(hào):


    如果是想搜索新硬件,還真不知道該用什么命令。系統(tǒng)的PNP可以自動(dòng)搜索到新硬件,所以估計(jì)也沒必要手動(dòng)刷新搜索。
    如果是想查看設(shè)備的變動(dòng),倒是可以用命令行來實(shí)現(xiàn)。
    方法一、使用WMIC(WMI命令行)
    使用WMIC需要管理員權(quán)限,第一次運(yùn)行會(huì)進(jìn)行安裝和配置。
    運(yùn)行下面的命令可以把系統(tǒng)中的驅(qū)動(dòng)列表保存到sysdriver.txt:
    代碼如下:
    wmic SYSDRIVER get DisplayName >sysdriver.txt
    再次運(yùn)行,然后使用fc就可以判斷是否有變動(dòng)
    代碼如下:
    wmic SYSDRIVER get DisplayName >sysdriver1.txt
    fc sysdirver.txt sysdriver1.txt
    方法二、使用WMI腳本
    可以使用js或vbs來運(yùn)行腳本,不需要管理員權(quán)限。
    如下方法可以得到驅(qū)動(dòng)類表,然后就可以使用fc比較兩次運(yùn)行的結(jié)果了:
    代碼如下:
    cscript //NoLogo sysdriver.vbs >sysdriver.txt
    sysdriver.vbs內(nèi)容如下
    代碼如下:
    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