Читать COM с помощью пакетного скрипта - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь прочитать строку из последовательного порта и сохранить ее в VAR следующим образом:

set /p y= < %COM%

Пока нет успеха.

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

::This works:
type %COM% > sample.txt 
set /p y= < sample.txt
del sample.txt 

1 Ответ

3 голосов
/ 07 февраля 2020

Не могли бы вы попробовать следующее:

for /f "usebackq" %%a in (`type %COM%`) do (
    set y=%%a
)
echo %y%

Распространенный вывод команды может быть обычной переменной. (аналогично var=$(command) в bash)

help for говорит:

FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]
(snip)
   usebackq        - specifies that the new semantics are in force,
                     where a back quoted string is executed as a
                     command and a single quoted string is a
                     literal string command and allows the use of
                     double quotes to quote file names in
                     file-set.

Имеется несколько параметров, и help for будет информативным.

...