如何在 Windows 7 上從命令列刪除所有 COM 連接埠?

如何在 Windows 7 上從命令列刪除所有 COM 連接埠?

我們有一台計算機用於測試一些設備。每隔一段時間,測試人員就需要進去並刪除分配的 COM 端口,以便他們釋放並從 1 開始。時間),而且他們還需要更改測試代碼以匹配作業系統分配的任何數字。

重複的數字是報告的問題,但我認為每天多次「必須檢查 COM 連接埠並更新程式碼」也是一個問題。

裝置經理,如果我打開顯示隱藏設備,我會看到數百個!

在此輸入影像描述

您可以透過滾動條的大小看出該清單相當大。我可以單擊每個並卸載,但是一一進行是瘋狂的,這就是為什麼我要求使用命令列替代方案,這樣我就可以編寫一個腳本,當他們需要重置連接埠時可以雙擊該腳本。

當然,如果有一些軟體可以實現這一點,那就太好了。

答案1

刪除活動 USB 連接埠:

devcon /r remove @usb\*

刪除活動 LPT 和 COM 連接埠:

devcon /r remove =ports

查詢所有COM和LPT連接埠:

devcon FindAll =Ports

查詢活動USB連接埠:

devcon status @usb\*

查詢所有 USB 連接埠 - 不同的結果:

devcon findall @usb\*
devcon findall =USB

列舉所有設備:

devcon hwids * > hwids.txt

在 WDK 工作,Windows 驅動程式套件版本 7.1.0

舊版 2003-01-29 不適用於 Windows 7(不是 del 裝置)。 devcon舊版2003-01-29

DevCon 的源碼

替代方案 1 - PnPUtil

替代方案 2 - 註冊表項,在子項中搜尋 USB 設備

不是全部!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI

例子:

reg delete "HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_Seagate&Prod_USB_2.0_Cable&Rev_0148" /f

如果連接埠枚舉devcon FindAll =Ports- 刪除此登錄項目:|

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI

如果連接埠枚舉devcon status @usb\*- 刪除此登錄項目:|

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

例子:

開啟註冊表

更改權限

刪除鍵

謝謝geermc4!我測試了開發者大會。在 Windows 驅動程式套件版本上,它可以與 Windows 7 正常運作。

只能為 Windows XP 設定硬體設定檔。我們HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum將無法在 Windows 7 上設定。

答案2

我還需要測試數百個單位。但是我嘗試使用命令列“ devcon /r remove @usb*”和devcon /r remove =ports”,這不起作用。我還下載了WDK(我不知道如何使用它)。讀完對話後我感到很困惑@geermc4 和@STTR,你能再解釋一下你是怎麼做到的嗎?

相關內容