devcon

計算機上的命令行實用工具

DevCon (Devcon.exe),即設備控制台,是一個命令行工具,該工具顯示有關運行 Windows 的計算機上設備的詳細信息。

概要


使用 DevCon,您可以啟用、禁用、重新啟動、更新、刪除和查詢單個設備或一組設備。DevCon 提供與開發人員有關但無法在設備管理器中看到的信息。
您可以將 DevCon 用於 Windows 2000Windows XPWindows vista。不能將 Devcon 用於 Microsoft Windows 95、Windows 98、或 Windows Millennium Edition。

參數


devcon.exe [-r] [-m:\\] [...]
-r 如果指定它,在命令完成後若需要則重新啟動計算機。
是目標計算機的名稱。
是將要執行的命令(如下所示)。
... 是命令需要的一個或多個參數。
要獲取關於某一特定命令的幫助,請鍵入:devcon.exe help
classfilter 允許修改類別篩選程序。
classes 列出所有設備安裝類別。
disable 禁用與指定的硬體或實例 ID 匹配的設備。
driverfiles 列出針對設備安裝的驅動程序文件。
drivernodes 列出設備的所有驅動程序節點。
enable 啟用與指定的硬體或 實例 ID 匹配的設備。
find 查找與指定的硬體或 實例 ID 匹配的設備。
findall 查找設備,包括那些未顯示的設備。
help 顯示此信息。
hwids 列出設備的硬體 ID。
install 手動安裝設備。
listclass 列出某一安裝類別的所有設備。
reboot 重新啟動本地計算機。
remove 刪除與特定的硬體或 實例 ID 匹配的設備。
rescan 掃描以發現新的硬體。
resources 列出設備的硬體資源。
restart 重新啟動與特定的硬體或 實例 ID 匹配的設備。
stack 列出預期的設備驅動程序堆棧。
status 列出設備的運行狀態。
update 手動更新設備。
UpdateNI 手動更新設備,無用戶提示
SetHwID 添加、刪除和更改根枚舉設備的硬體 ID 的順序。

示例


devcon -m:\\test find pci\* 列出計算機 test 上的所有已知 PCI 設備。(通過使用 -m,您可以指定一個目標計算機。您必須使用“進程間通信”(IPC) 訪問此計算機。)
devcon -r install Windows directory\Inf\Netloop.inf *MSLOOP 安裝一個新的 Microsoft 環回適配器實例。這將創建一個新的根枚舉設備節點,使用此節點您可以安裝“虛擬設備”,如環回適配器。如果需要重新啟動計算機,此命令還將以安靜模式重啟計算機。
devcon classes 列出所有已知的安裝類別。輸出結果包含短的未本地化的名稱(例如,“USB”)和描述性名稱(例如,“通用串列匯流排控制器”)。
devcon classfilter upper !filter1 !filter2
刪除這兩個指定的篩選程序。
devcon classfilter lower !badfilter +goodfilter
用“goodfilter”替換“badfilter”。
devcon driverfiles =ports
列出與 ports 安裝類別中的每一個設備關聯的文件。
devcon disable *MSLOOP
禁用硬體 ID 以“MSLOOP”結尾(包括“*MSLOOP”)的所有設備。
devcon drivernodes @ROOT\PCI_HAL\PNP0A03
列出設備“ROOT\PCI_HAL\PNP0A03”的所有兼容驅動程序。這可以用來確定為什麼選擇原配的設備信息 (.inf) 文件而不選第三方 .inf 文件。
devcon enable '*MSLOOP
啟用硬體 ID 為“*MSLOOP”的所有設備。單引號指示必須嚴格按字面解釋硬體 ID(換句話說,星號 [“*”] 真的是 一個星號,而不是通配符)。
devcon find *
列出本地計算機上存在的所有設備的設備實例。
devcon find pci\*
列出本地計算機上所有已知的“外圍組件互連”(PCI) 設備(如果一個設備的硬體 ID 以“PCI\”為前綴,此命令就認為該設備是 PCI 設備)。
devcon find =ports *pnp*
列出存在的作為 ports 安裝類別的成員而且硬體 ID 中包含“PNP”的設備。
devcon find =ports @root\*
列出存在的作為 ports 安裝類別的成員而且在枚舉樹的“root”分支中的設備(實例 ID 以“root\”為前綴)。請注意,有關實例 ID 的格式化方式,不應作任何編程假定。要確定根設備,可以檢查設備狀態位。此功能包括在 DevCon 中是為了幫助進行調試。
devcon findall =ports
列出 ports 類別的“不存在”的設備和存在的設備。這包括已經被刪除的設備、從一個插槽移到另一個插槽的設備,以及在某些情況下由於 BIOS 改變而被不同地枚舉的設備。
devcon listclass usb 1394
列出命令中所列的每個類別(本例中是 USB 和 1394)的所有存在的設備。
devcon remove @usb\*
刪除所有 USB 設備。被刪除的設備列出時將顯示其刪除狀態。
devcon rescan
重新掃描以發現新的“即插即用”設備。
devcon resources =ports
列出由 ports 安裝類別中的所有設備使用的資源。
devcon restart =net @'ROOT\*MSLOOP\0000
重新啟動環回適配器“ROOT\*MSLOOP\0000”。命令中的單引號指示必須按字面解釋實例 ID。
devcon hwids=mouse
列出系統中滑鼠類設備的所有硬體 ID。
devcon sethwid @ROOT\LEGACY_BEEP\0000 := beep
將硬體 ID beep 賦予舊式蜂鳴設備。
devcon stack =ports
列出設備預期的驅動程序堆棧。包括設備和類別高層/低層篩選程序,以及控制服務。
devcon status @pci\*
列出實例 ID 以“pci\”開頭的每一個存在設備的狀態。
devcon status @ACPI\PNP0501\1
列出特定設備實例的狀態,在本例中是一個高級配置和電源界面 (ACPI) - 枚舉的串列埠
devcon status @root\rdp_mou\0000
列出 Microsoft終端伺服器或終端服務滑鼠驅動程序的狀態。
devcon status *PNP05*
列出所有 COM 埠的狀態。
devcon update mydev.inf *pnp0501
更新與硬體 ID *pnp0501 嚴格匹配的所有設備,讓它們使用 Mydev.inf 中與硬體 ID *pnp0501 關聯的最好的驅動程序。
注意:即使系統上已經存在更好的匹配項,這一更新也將強制所有設備使用 Mydev.inf 中的驅動程序。如果在獲得簽名之前,您想要在開發過程中安裝驅動程序的新版本,則這是很有用的。此更新僅影響與指定的硬體 ID 匹配的設備,不會影響到其子設備。如果指定的 .inf 文件未經簽名,則 Windows 可能會顯示一個對話框,提示您確認是否應安裝此驅動程序。如果需要重新啟動計算機,將報告這一情況並且 DevCon 返回一個級別 1 錯誤。如果指定 -r,在需要重新啟動計算機時就會自動重啟。