Come visualizzare le porte COM seriali ma non tramite Gestione dispositivi


39

Come farei per visualizzare un elenco di porte COM in uso senza l'uso di Device Manager ?

Non voglio nemmeno installare alcun software. C'è un modo possibile per farlo attraverso la riga di comando?


Si prega di definire meglio "In uso". installato come dispositivo? È collegato un dispositivo? Il trasferimento attivo dei dati?
Ƭᴇcʜιᴇ007,

@ Ƭᴇcʜιᴇ007 mi dispiace, in uso avrebbe un dispositivo collegato ad esso. Ho un cavo ttl uart collegato a una USB.
Marmstrong,

Suppongo che tu possa farlo attraverso uno script PowerShell. Perché non riesci a utilizzare Gestione dispositivi? La tua riluttanza a usare qualcosa come Putty è strana.
Ramhound,

1
@Ramhound Utilizzo di un PC universitario che ha il Device Manager bloccato per impedire alle persone come me di armeggiare. Vedo che il dispositivo è COM3 sul mio laptop. Voglio usare Putty ma non so quale porta COM usare.
Marmstrong,

2
@Marmstrong Nel prompt dei comandi utilizzare mode. Utilizzato senza parametri, modevisualizza tutti gli attributi controllabili della CON(console) e dei COMdispositivi disponibili (e LPTpure)
JosefZ

Risposte:


53

Nel prompt dei comandi utilizzare

mode

Usato senza parametri, modevisualizza tutti gli attributi controllabili della CON(console) e dei COMdispositivi disponibili (e LPTpure).

Accetta /?switch per aiuto di base:

mode /?


Usando il modepiù delle volte non vedo i dispositivi che non sono collegati, come menzionato nella risposta di @GM.
sylvainulg,

11

Nel prompt dei comandi utilizzare:

C:\>wmic path Win32_SerialPort

O

In PowerShell:

PS> Get-WMIObject Win32_SerialPort

O

PS> Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description

Spero che sia di aiuto.


2
Il prompt dei comandi è tornatoNo Instance(s) Available.
Marmstrong il

Se non ci sono dispositivi port Com rilevati, il comando risulta "Nessuna istanza disponibile". Controlla il tuo "Device Manager" e assicurati che la tua macchina abbia rilevato le porte Com in "Device Manager"
vembutech

OP ha dichiarato "Utilizzo di un PC universitario con il gestore dispositivi bloccato"
DavidPostill

@vembutech - Sembra che dovrai coinvolgere l'IT in quel caso.
Ramhound,

@vembutech Ho controllato il dispositivo sul mio laptop e appare come COM3 in Gestione dispositivi, ma il prompt dei comandi mostra ancora lo stesso risultato.
Marmstrong,

10

So che alla domanda è stata data una risposta, ma questo è un altro metodo.

Nel prompt dei comandi, utilizzare:
chgport
in Windows Vista e versioni successive. Elenca le tue porte e quale dispositivo sono.


1
Windows 7 "'chgport' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch."
DavidPostill

4
funziona per me su Win 7
woky

chgport / QUERY funziona per me in Win7 pro. Elenca il \ Device \ name per la porta com attualmente selezionata, non un elenco completo. Più interessante, chgport /? mostra: (formattazione non riuscita) CHANGE PORT [portx = porty | / D portx | / QUERY] portx = porty Mappa la porta x sulla porta y. / D portx Elimina il mapping per la porta x. / QUERY Visualizza le porte di mappatura correnti. E chgport COM4 = COM5 consente al tipo COM4: di funzionare!
James Newton,


1
chgport funziona anche in Windows 10
spikey_richie il

3

Usando il modepiù delle volte non vedo i dispositivi che non sono collegati.

Preferisco usare questa soluzione con Python:

python -c "import serial.tools.list_ports as ls;print list(ls.comports())"

Quindi posso vedere tutto collegato anche se la connessione è chiusa.

serial.tools.list_ports proviene dal pacchetto pyserial .


3

wmic https://docs.microsoft.com/en-us/windows/desktop/wmisdk/wmic è un'utilità della riga di comando di Windows per ottenere informazioni sul sistema.

Se la porta seriale è virtuale creata da alcuni driver tramite connessione USB, utilizzare questo esempio per ottenere dettagli su queste porte seriali.

percorso wmic CIM_LogicalDevice dove "Descrizione come 'USB Serial%'" ottiene / valore

ulteriori informazioni sarebbero utili
Albin

che produce molte informazioni. get Nameinvece di get /valuepotrebbe aiutare. Sfortunatamente, non elenca semplicemente le porte, ma stringhe come "Porta seriale USB (COM17)". Ci sono anche più voci che menzionano semplicemente "USB Serial Converter" nella mia configurazione.
sylvainulg,


0

Il frammento seguente elenca le porte seriali nella variabile $ PORTS

BASH MSYS2

Questa funzione otterrà automaticamente un elenco di porte

PORTI =/c/Windows/System32/mode.com | grep Status.*COM | awk '{ print $4 }' | sed s/://

Per elencare (utilizzare) le porte, vedere il codice seguente:

echo -n "Porte di programmazione (eco):" per aa in $ PORTS; do echo -n $ aa done echo ""

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.