Чтобы решить эту проблему Я пытался придумать разные подходы.
Я подумал об использовании файла CON для межпроцессного взаимодействия следующим образом:
REM The findstr is pretty much useless in this example!
set /P _MyVar=<CON & echo !_MyVar! | nc -w 1 -l -p 80 | findstr Host 1> CON
Но что бы я ни делал, мне всегда приходится что-то вводить в консоль, чтобы вся команда интерпретировалась.
Я считаю, что этот set /P _MyVar=<CON
блокирует процесс, пока что-то не будет предоставлено CON, поэтому наблюдаемое поведение.
Есть ли способ избежать этого блокирующего поведения, чтобы ответ от netcat адаптировался на основе запроса?
con
не возвращается, пока не встретит символ ctrl-z. фактически вы НЕ можете передавать ввод char-by-char, используяcon
, потому что когда-либо будет возвращена только вся входная строка, и только после того, как встретится ctrl-z/eof char. - person Marc B   schedule 17.10.2016choice
(см.: stackoverflow.com/questions/13166100/), но для этого требуется цикл, что означает вы не можете держать трубу открытой дляnc
- person Marc B   schedule 17.10.2016set /P
ждет Return... В любом случае, уточните, какое поведение вы ожидаете: вы хотите, чтобы ожидалось только одно нажатие клавиши? или вы хотите вообще не ждать нажатия клавиш? - person aschipfl   schedule 18.10.2016