Страница 1 из 1
.bat/.cmd как выбрать №COM порта в процессе выполнения прогр
Добавлено: Сб апр 28, 2018 17:51:28
aiRicko
Всем привет, кто-нибудь может подсказать, как сделать так, чтобы в процессе выполнения .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
BOB51
Такие опции обычно в самой программе предусмотрены (выбор из существующих портов для обмена).
На уровне DOS перенаправить поток от виндовс программ...
Было там что-то за перенаправление ввода/вывода... но то по разграничению устройств и то - только для стаарых компов...
Как винь появилась про те фокусы сразу позабыли.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Вс апр 29, 2018 13:10:12
pasha_zv
а если как параметр - не пойдет?
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
vlasovzloy
Вот тут вроде подробно описано
http://microsin.net/adminstuff/windows/ ... -port.html
Но с двухзначными компортами проблемы, переименуй в однозначный, в сом8 например. Еще если 7ка 8ка 10ка, просоо так батник не запустится, нужно наге ярлык делать и чототам еще, не помню уже. Делал батник пожилой женщине на 10ке чтобы браузер убивала если баннер какой появится незакрываемый
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Вс апр 29, 2018 22:48:07
aiRicko
BOB51, я не пытаюсь перенаправлять данные других программ, я пытаюсь заставить батник отправлять данные не на строго определенный порт, а на тот, который выберет пользователь в процессе выполнения этого бат файла.
[uquote="pasha_zv",url="/forum/viewtopic.php?p=3365336#p3365336"]а если как параметр - не пойдет?
mode COM%1 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM%1[/uquote]
pasha_zv, можешь рассказать что с этим нужно сделать?
Ни в таком виде, ни если подставить вместо 1 переменную не работает (в обоих случаях недопустимый параметр и не удается найти файл).
vlasovzloy, уже читал эту статью, просмотрел еще раз, нашел ссылку на более-менее сносный костыль в SerialSend.exe - возможность выбрать активный порт с наибольшим номером, но хотелось бы отправлять данные на порт с номером, равным значению переменной, или еще каким-то образом выбрать номер порта.
p.s. использую не "настоящий" com порт, а переходник usb - ttl, поэтому номер порта может быть каким угодно.
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Вс апр 29, 2018 23:12:14
vlasovzloy
Какой угодно порт можно переименовать в какой угодно. И вполне возможно и автоматизировать это. В реестре нужно слепки сравнить до смены и после
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Пн апр 30, 2018 00:05:23
aiRicko
[uquote="vlasovzloy",url="/forum/viewtopic.php?p=3365690#p3365690"]Какой угодно порт можно переименовать в какой угодно. И вполне возможно и автоматизировать это. В реестре нужно слепки сравнить до смены и после[/uquote]
Под портом подразумевается COM1 COM2 и.т.д.? или выводы одного из ком портов? Не могу понять зачем их переименовывать.
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Пн апр 30, 2018 03:53:02
vlasovzloy
Ну я имею ввиду устройство твое. Был 27 портом, стал 6 например. Теплокомовская VKT7 не видит больше 8 порта например
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Пн апр 30, 2018 12:20:44
aiRicko
Если использовать 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
[uquote="aiRicko",url="/forum/viewtopic.php?p=3365674#p3365674"]BOB51, я не пытаюсь перенаправлять данные других программ, я пытаюсь заставить батник отправлять данные не на строго определенный порт, а на тот, который выберет пользователь в процессе выполнения этого бат файла.
...
p.s. использую не "настоящий" com порт, а переходник usb - ttl, поэтому номер порта может быть каким угодно.[/uquote]
Возможности работы с СОМ портами простейших DOS приложений (и некоторых "не современных" виндовс)
ОГРАНИЧЕНЫ НОМЕРАМИ СОМ1 - СОМ8.
ДЛЯ ПОРТОВ "СТАРШЕ СОМ8" -> СОМ9 и более могут применяться ИСКЛЮЧИТЕЛЬНО СРЕДСТВА ОПЕРАЦИОННОЙ СИСТЕМЫ (WINXP или иной).
То же касательно и LPT и диапазона адресов УВВ.

Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Вт май 01, 2018 08:24:53
musor
ну строго говоря не совсем так промню еще с времен доса юзалист платы на 16 и 32 порта опроса датчиков
там в настройках ЯВНО ПРОПИСЫВАЛОСЬ ПРЕРЫВАЕНЕ И АДРЕС КАЖДОГО ПОРТА ...
Re: .bat/.cmd как выбрать №COM порта в процессе выполнения п
Добавлено: Вт май 01, 2018 09:42:31
aiRicko
Все оказалось намного проще, просто я не умел подставлять переменные. Напишу здесь, может кому-то пригодится.
mode COM27 BAUD=9600 PARITY=n DATA=8
set /p x="12345" < nul >\\.\COM27
(Первая команда конфигурирует порт, вторая отправляет 12345)
Чтобы была возможность выбрать нужный порт - можно либо вместо COM27 подставить %название переменной% (при этом значение переменной должно быть равно COMx ,где x- номер нужного порта) либо можно сделать еще проще COM%название переменной% , в этом случае переменная должна быть равна номеру нужного порта.
Работает как с однозначными, так и с двузначными номерами портов.