Windows 7의 명령줄에서 모든 COM 포트를 제거하려면 어떻게 해야 합니까?

Windows 7의 명령줄에서 모든 COM 포트를 제거하려면 어떻게 해야 합니까?

일부 장치를 테스트하는 데 사용되는 컴퓨터가 있습니다. 가끔씩 테스터는 할당된 COM 포트를 제거하여 여유 공간을 확보하고 1에서 다시 시작해야 합니다. 최근에는 두 개의 장치에 동일한 COM 포트를 할당하고 있습니다(약 8개가 동시에 연결되어 있음). 시간) 또한 OS에서 할당한 번호와 일치하도록 테스트 코드를 변경해야 합니다.

중복된 번호가 문제로 보고됐는데, 하루에도 몇 번씩 'COM 포트를 확인하고 코드를 업데이트해야 하는' 것도 문제로 보입니다.

~ 안에기기 관리자, 숨겨진 장치 표시를 켜면 수백 개가 표시됩니다!

여기에 이미지 설명을 입력하세요.

스크롤바의 크기를 보면 목록이 꽤 크다는 것을 알 수 있습니다. 각각을 클릭하고 제거할 수 있지만 1:1로 진행하는 것은 미친 짓이므로 명령줄 대안을 요청하여 포트를 재설정해야 할 때 두 번 클릭할 수 있는 스크립트를 작성할 수 있습니다.

물론, 이런 일이 일어나도록 해주는 소프트웨어가 있다면 그것도 좋습니다.

답변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에서만 설정할 수 있습니다. Windows 7에서는 설정할 수 없습니다. 의도적으로...백업 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum...

답변2

또한 수백 개의 장치를 테스트해야 합니다. 그러나 명령줄 " devcon /r 제거 @usb*" 및 devcon /r 제거 =ports"를 사용하려고 했지만 작동하지 않았습니다. WDK도 다운로드했습니다(사용 방법을 모르겠습니다). 대화를 읽은 후 혼란스러워졌습니다. . @geermc4 및 @STTR, 어떻게 했는지 다시 설명해 주시겠어요?

관련 정보