Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

.bat/.cmd как выбрать №COM порта в процессе выполнения прогр

Сб апр 28, 2018 17:51:28

Всем привет, кто-нибудь может подсказать, как сделать так, чтобы в процессе выполнения .bat или .cmd файла можно было вручную выбрать ком порт, на который будет производиться передача данных?

mode COM27 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM27

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вс апр 29, 2018 08:54:59

Такие опции обычно в самой программе предусмотрены (выбор из существующих портов для обмена).
:roll:
На уровне DOS перенаправить поток от виндовс программ...
Было там что-то за перенаправление ввода/вывода... но то по разграничению устройств и то - только для стаарых компов...
Как винь появилась про те фокусы сразу позабыли.
:dont_know:

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вс апр 29, 2018 13:10:12

а если как параметр - не пойдет?

mode COM%1 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM%1

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вс апр 29, 2018 20:08:08

Вот тут вроде подробно описано http://microsin.net/adminstuff/windows/ ... -port.html
Но с двухзначными компортами проблемы, переименуй в однозначный, в сом8 например. Еще если 7ка 8ка 10ка, просоо так батник не запустится, нужно наге ярлык делать и чототам еще, не помню уже. Делал батник пожилой женщине на 10ке чтобы браузер убивала если баннер какой появится незакрываемый

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вс апр 29, 2018 22:48:07

BOB51, я не пытаюсь перенаправлять данные других программ, я пытаюсь заставить батник отправлять данные не на строго определенный порт, а на тот, который выберет пользователь в процессе выполнения этого бат файла.

а если как параметр - не пойдет?

mode COM%1 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM%1


pasha_zv, можешь рассказать что с этим нужно сделать?
Ни в таком виде, ни если подставить вместо 1 переменную не работает (в обоих случаях недопустимый параметр и не удается найти файл).

vlasovzloy, уже читал эту статью, просмотрел еще раз, нашел ссылку на более-менее сносный костыль в SerialSend.exe - возможность выбрать активный порт с наибольшим номером, но хотелось бы отправлять данные на порт с номером, равным значению переменной, или еще каким-то образом выбрать номер порта.

p.s. использую не "настоящий" com порт, а переходник usb - ttl, поэтому номер порта может быть каким угодно.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вс апр 29, 2018 23:12:14

Какой угодно порт можно переименовать в какой угодно. И вполне возможно и автоматизировать это. В реестре нужно слепки сравнить до смены и после

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Пн апр 30, 2018 00:05:23

Какой угодно порт можно переименовать в какой угодно. И вполне возможно и автоматизировать это. В реестре нужно слепки сравнить до смены и после

Под портом подразумевается COM1 COM2 и.т.д.? или выводы одного из ком портов? Не могу понять зачем их переименовывать.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Пн апр 30, 2018 03:53:02

Ну я имею ввиду устройство твое. Был 27 портом, стал 6 например. Теплокомовская VKT7 не видит больше 8 порта например

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Пн апр 30, 2018 12:20:44

Если использовать 1 устройство и 1-2-3 ПК - тогда как вариант, но в перспективе одновременно может быть подключено больше 1-го устройства и неопределенное количество ПК, поэтому я и хочу сделать возможность выбора порта, чтобы инструмент был универсальным.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Пн апр 30, 2018 13:37:27

Сделайте нормальное GUI вместо BAT.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вт май 01, 2018 08:10:25

BOB51, я не пытаюсь перенаправлять данные других программ, я пытаюсь заставить батник отправлять данные не на строго определенный порт, а на тот, который выберет пользователь в процессе выполнения этого бат файла.
...

p.s. использую не "настоящий" com порт, а переходник usb - ttl, поэтому номер порта может быть каким угодно.


Возможности работы с СОМ портами простейших DOS приложений (и некоторых "не современных" виндовс)
ОГРАНИЧЕНЫ НОМЕРАМИ СОМ1 - СОМ8.
ДЛЯ ПОРТОВ "СТАРШЕ СОМ8" -> СОМ9 и более могут применяться ИСКЛЮЧИТЕЛЬНО СРЕДСТВА ОПЕРАЦИОННОЙ СИСТЕМЫ (WINXP или иной).
:tea:
То же касательно и LPT и диапазона адресов УВВ.
8)

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вт май 01, 2018 08:24:53

ну строго говоря не совсем так промню еще с времен доса юзалист платы на 16 и 32 порта опроса датчиков
там в настройках ЯВНО ПРОПИСЫВАЛОСЬ ПРЕРЫВАЕНЕ И АДРЕС КАЖДОГО ПОРТА ...

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п

Вт май 01, 2018 09:42:31

Все оказалось намного проще, просто я не умел подставлять переменные. Напишу здесь, может кому-то пригодится.

mode COM27 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM27

(Первая команда конфигурирует порт, вторая отправляет 12345)
Чтобы была возможность выбрать нужный порт - можно либо вместо COM27 подставить %название переменной% (при этом значение переменной должно быть равно COMx ,где x- номер нужного порта) либо можно сделать еще проще COM%название переменной% , в этом случае переменная должна быть равна номеру нужного порта.
Работает как с однозначными, так и с двузначными номерами портов.
Ответить