- CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- Сообщения 12
- 1 Тема от Himmler 2016-10-18 22:12:42
- Тема: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 3 Ответ от Himmler 2016-10-19 22:02:30
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 4 Ответ от DnsIs 2016-10-20 09:09:05 (изменено: DnsIs, 2016-10-20 09:11:15)
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 5 Ответ от Himmler 2016-10-20 10:58:08
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 6 Ответ от DnsIs 2016-10-20 14:35:49 (изменено: DnsIs, 2016-10-20 14:36:10)
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 7 Ответ от Himmler 2016-10-20 16:07:15
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 8 Ответ от DnsIs 2016-10-21 08:27:35
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 9 Ответ от Himmler 2016-10-21 11:03:19
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 10 Ответ от DnsIs 2016-10-21 12:35:45
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 11 Ответ от Himmler 2016-10-21 15:15:50
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- 12 Ответ от DnsIs 2016-10-21 15:31:30 (изменено: DnsIs, 2016-10-22 09:26:01)
- Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
- Как из командной строки осуществить открытие, чтение и запись в COM-порт Windows?
- 2 ответа 2
- Как просмотреть последовательные COM-порты, но не через диспетчер устройств
- BASH MSYS2
- Эта функция автоматически получит список портов
- Для списка (использовать) портов, см. Код ниже:
- Как проверить, открыт ли порт
- Что такое порт
- Как проверить, открыт ли порт
- Как узнать, какие порты открыты на локальном компьютере в Windows
- Как узнать, какие порты открыты на удаленном компьютере
- Как проверить доступность порта с помощью команды telnet в Windows:
- Получение номера COM-порта из выводимого командой текста
CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 12
1 Тема от Himmler 2016-10-18 22:12:42
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Тема: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Возникла задача читать данные из COM-порта, во что я и уткнулся. Хотелось бы реализовать всё штатными средствами командной строки.
Записать в порт — никаких проблем, тот же «echo Hello>COM1»
Что касается чтения, всё что смог нагуглить — это либо copy, либо set.
Опять же якобы set /p «input_str=» 2 Ответ от shiz 2016-10-19 20:49:09
- shiz
- Участник
- Неактивен
- Рейтинг : [ 13 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Может быть, COPY /B ?
3 Ответ от Himmler 2016-10-19 22:02:30
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Я это тоже пробовал, бинарность файла не отменяет поиска его конца. Точно так же виснет.
4 Ответ от DnsIs 2016-10-20 09:09:05 (изменено: DnsIs, 2016-10-20 09:11:15)
- DnsIs
- Участник
- Неактивен
- Рейтинг : [ 3 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
А если: type COM1 ?
А еще в инете полно ссылок на примеры скриптов для Power Shell
5 Ответ от Himmler 2016-10-20 10:58:08
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Нет, type тоже хочет символ конца файла.
Касательно Power Shell, если я не путаю, его вмазанная поддержка появилась с Windows 7, а значит метод не будет работать на машинах с XP (а это критично).
6 Ответ от DnsIs 2016-10-20 14:35:49 (изменено: DnsIs, 2016-10-20 14:36:10)
- DnsIs
- Участник
- Неактивен
- Рейтинг : [ 3 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Ладно Power Shell, тяжелый. Неужели не найдется места для небольшой утилиты?
ЗЫ Например putty.
7 Ответ от Himmler 2016-10-20 16:07:15
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Да дело не в занимаемом месте, а в стороннем исполняемом файле. Именно поэтому не хочу тащить на машину к пользователю левых утилит\компонентов.
8 Ответ от DnsIs 2016-10-21 08:27:35
- DnsIs
- Участник
- Неактивен
- Рейтинг : [ 3 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Тогда HyperTerminal.
Правда ХЗ как его в скрипт вкрутить9 Ответ от Himmler 2016-10-21 11:03:19
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Его нет в Windows 7, и скрипт туда вряд ли прикрутишь.
Пока что в голову приходит только написание коротенького (байт 50) com-файла для вычитывания байта из порта и его вывода на экран. А хранить этот com-файл внутри текста bat-файла с последующей записью на диск и исполнением из bat-файла.
Не знаю только как работают com-файлы на досовской виртуальной машине в Windows 7 (а именно разрешён ли доступ к портам).10 Ответ от DnsIs 2016-10-21 12:35:45
- DnsIs
- Участник
- Неактивен
- Рейтинг : [ 3 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
А так:
TYPE COM2>CON11 Ответ от Himmler 2016-10-21 15:15:50
- Himmler
- Участник
- Неактивен
- Рейтинг : [ 0 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Ну какая разница, виснет же type. Нет там символа конца файла.
12 Ответ от DnsIs 2016-10-21 15:31:30 (изменено: DnsIs, 2016-10-22 09:26:01)
- DnsIs
- Участник
- Неактивен
- Рейтинг : [ 3 | 0 ]
Re: CMD/BAT: Чтение из COM-порта штатными средствами командной строки
Специально установил программу Virtual Serial Ports Emulator. Прокинул мост между 2 виртуальныи портами. В одном окне
echo bla-bla-bla>COM2
в другом
TYPE COM3И ничего.
А вот если
TYPE COM2>CON
или
TYPE COM2>output-file
То все получается.
Пробовал и Hyper terminal и putty. Мне кажется что все они работают одинаково.
И без символа конца строки, никакая программа ничего не поймает.
Тут сниффер какой то нужен. Думаю в арсенале win таких не найдется.PS Вчера каждая строка (echo bla-bla-bla>COM2) прилетала в COM4 мгновенно. А сегодня только после переполнения буфера (то есть при многократном вызове (echo bla-bla-bla>COM2))
Как из командной строки осуществить открытие, чтение и запись в COM-порт Windows?
У меня стоит задача мониторинга и управления ИБП АРС, подключенного к удаленной ПЭВМ через COM-порт RS232. Как работать с COM-портом на локальной ПЭВМ и осуществить мониторинг и управление ИБП АРС я знаю. А также я знаю как подключиться (через WMI или Telnet) к удаленной ПЭВМ и запустить и запустить задачу и исполнить её в консольном режиме. На удаленной ПЭВМ я не могу устанавливать своего ПО, т.е. мне необходимо пользоваться стандартными средствами Windows. А на ПЭВМ где производиться мониторинг (локальная) я хозяин, поэтому моя задача узнать как стандартными средствами Windows манипулировать COM-портом (а значит ИБП АРС) на удаленной ПЭВМ, а результаты получать и обрабатывать на локальной ПЭВМ (где мониторинг).
Слышал я, что есть возможность удаленно манипулировать COM-портом можно через WMI, но я не знаю как.
2 ответа 2
В командной строке Windows есть возможность обращаться к COM-порту по имени вида COMx , где x — номер порта. Эта возможность пришла ещё из MS DOS.
Например, для отправки текста «123» устройству можно воспользоваться командой
В порт будут отправлены байты, содержащие коды символов из параметра команды echo .
Для указания параметров порта можно воспользоваться командой mode . Пример использования:
Это означает, что порт COM1 работает со скоростью 9600 бод, передаёт данные по 8 бит и не использует проверку чётности.
Судя по тегам, вы можете использовать C#. В этом случае просто воспользуйтесь классом SerialPort из пространства имён System.IO.Ports . Однако этот класс позволяет работать с портом лишь на локальной машине.
Если вам требуется сложное поведение, то вы можете из командной строки удалённо создать файл с программой на C# и скомпилировать его утилитой csc.exe при условии, что на удалённой машине установлена платформа .NET (консольный компилятор входит в комплект её поставки).
Возможно есть и другие средства для удалённой работы с оборудованием машины, которые вам лучше подойдут. Например, если установлен PowerShell, то можно воспользоваться его возможностями.
Пример работы с портом из VBScript (к сожалению, не было возможности проверить на реальном железе).
Как просмотреть последовательные COM-порты, но не через диспетчер устройств
Как мне просмотреть список используемых COM-портов без использования диспетчера устройств ?
Я также не хочу устанавливать какое-либо программное обеспечение. Есть ли способ сделать это через командную строку?
В командной строке используйте
Используется без параметров, mode отображает все контролируемые атрибуты CON (консоли) и доступных COM устройств ( LPT а также).
Принимает /? переключатель для базовой помощи:
В командной строке используйте:
Надеюсь это поможет.
Я знаю, что на вопрос ответили, но это другой метод.
В командной строке используйте:
chgport
в Windows Vista и выше. Перечисляет ваши порты и какое устройство они.Используя mode большую часть времени я не вижу устройств, которые не связаны между собой .
Я предпочитаю использовать это решение с Python:
Таким образом, я вижу все, что подключено, даже если соединение закрыто.
serial.tools.list_ports из пакета pyserial .
wmic https://docs.microsoft.com/en-us/windows/desktop/wmisdk/wmic — это утилита командной строки Windows для получения системной информации.
Если ваш последовательный порт виртуально создан каким-либо драйвером через USB-соединение, используйте этот пример для получения подробной информации об этих последовательных портах.
Вы также можете запустить следующее из командной строки cmd.exe
Фрагмент ниже перечисляет последовательные порты в переменную $ PORTS
BASH MSYS2
Эта функция автоматически получит список портов
ПОРТЫ = /c/Windows/System32/mode.com | grep Status.*COM | awk ‘< print $4 >‘ | sed s/://
Для списка (использовать) портов, см. Код ниже:
echo -n «Программирование (отображение) портов:» для aa в $ PORTS; do echo -n $ aa done echo «»
Как проверить, открыт ли порт
В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.
Что такое порт
Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.
Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.
Есть стандартные порты, такие как:
- порт 80 — для веб-сервера, который работает по протоколу HTTP,
- порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
- порт 21 — для FTP-протокола (протокола передачи файлов).
Как проверить, открыт ли порт
Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.
Как узнать, какие порты открыты на локальном компьютере в Windows
Вызовите командную строку сочетанием клавиш Win+R.
Введите команду «cmd» и нажмите ОК:
Пропишите команду netstat -a и кликните Enter:
Готово, перед вами список открытых портов на вашем компьютере.
Как узнать, какие порты открыты на удаленном компьютере
Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.
Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).
В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.
Как проверить доступность порта с помощью команды telnet в Windows:
Вызовите командную строку сочетанием клавиш Win+R.
Введите команду «cmd» и нажмите ОК.
В окне терминала введите команду: telnet имя_сервера номер_порта (например, telnet mysite.ru 31).
Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).
Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:
Если на экране командной строки появится ошибка, значит порт закрыт:
- Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:
Получение номера COM-порта из выводимого командой текста
Добавлено через 4 минуты
Здравствуйте, устал читать в просторах интернета в поисках информации, питаюсь реализовать уже на протяжении долгого времени, но не получается.
Коротко — трудно описать, да и саму суть, долго рассказывать. Поэтому, напишу очень коротко, как смогу.Есть модем Huawei, при его подключении к ПК, появляются Com порты. Одна из них называется PC UI Interface. Надо автоматически определить номер com порта и вытянуть это значение при его обнаружении, если не получиться, повторить обнаружение еще 2 раза и если дальше не находит, выдать значение «Интерфейс PC UI Interface не найден!!» или чтолибо в этом духе, а если нашло — Вывести циферками номер COM Порта без приставки «COM «..
после долгих поисков нашел утилку EnumSerialPorts , в архиве присутствуют исходники, если кто может реализовать саму программу с управление командной строки буду очень признателен.
ух че то много написал-)
вообщем пишу начало. как я думаю. надеюсь дальше исправите, поможете и дополните, уважаемы знатоки
запускаем EnumSer.exe в командной строкекак видите, поиск осуществляется несколькими способами.
сократим все и обработаем на прямую EnumSer.exe указанной ниже командой
, если не получиться, повторить обнаружение еще 2 раза и если дальше не находит, выдать значение «Интерфейс PC UI Interface не найден!!» или чтолибо в этом духе.
дальше надо избавиться от повторяющегося текста
и оставить только одно из получаемого текстапотом надо обработать этот текст следующим образом..
от текста COM8 нужно получить только номер COM порта, он может иметь номер 8 ну или допустим 88 или какое нить другое число, то-есть надо чтобы в итоге после обработки текста остались только цифры после слога «com»
кстати текст COM8 может быть маленько иной и по этому лучше попробовать сначала найти с помощью команды в тексте слово «com» и по значению сохранить N число.в итоге, результат должен быть такой.
если COM порт определился — то выводится номер Com порта, а если нет — то выводиться текст который я заранее ввел уже.надеюсь на вашу скорейшую помощь.
Получение значения по URL и замена определенного текста в файле командой по SHH
Получение значения по URL и замена определенного текста в файле командой по SHH Мне необходимо.Вывести одной командой данные в 2 порта
Скажите, пожалуйста, ведь в STM32 порты ввода-вывода доступны в адресном пространстве подобно.Упорядочивание выводимого текста.
Ребята очень прошу вас помочь мне, в институте нам задали задание, решить формулу в паскале, я всё.Русификация выводимого из переменных текста
например есть задание: Структура AEROFLOT с полями: — название пункта назначения рейса; — тип.