Можно ли использовать файл C0N для межпроцессного взаимодействия?

Чтобы решить эту проблему Я пытался придумать разные подходы.

Я подумал об использовании файла 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 адаптировался на основе запроса?


person utxeee    schedule 17.10.2016    source источник
comment
con не возвращается, пока не встретит символ ctrl-z. фактически вы НЕ можете передавать ввод char-by-char, используя con, потому что когда-либо будет возвращена только вся входная строка, и только после того, как встретится ctrl-z/eof char.   -  person Marc B    schedule 17.10.2016
comment
Любая идея для достижения ожидаемого результата?   -  person utxeee    schedule 17.10.2016
comment
не думаю, что есть способ сделать это из простых пакетных файлов. они идиотски глупы, прямо скажем. есть хаки, такие как использование choice (см.: stackoverflow.com/questions/13166100/), но для этого требуется цикл, что означает вы не можете держать трубу открытой для nc   -  person Marc B    schedule 17.10.2016
comment
Я не хотел брать с собой какой-либо сторонний компонент, кроме простого пакетного сценария и исполняемого файла netcat, но это становится действительно сложно :)   -  person utxeee    schedule 17.10.2016
comment
пакетные файлы - это доисторическая скала каменного века, буквально. хотя вы могли бы попытаться сделать с ним программный эквивалент операции на открытом сердце, шансы на выживание пациента немного ниже.   -  person Marc B    schedule 17.10.2016
comment
@MarcB Batch — это то, что вы вводите для работы на компьютере. идиотски глупо относиться к нему как к языку программирования. Инженеры IBM, написавшие CMD, добавили некоторые возможности программирования. Но это прежде всего способ сказать компьютеру, что делать без значков или мышей.   -  person    schedule 18.10.2016
comment
set /P ждет Return... В любом случае, уточните, какое поведение вы ожидаете: вы хотите, чтобы ожидалось только одно нажатие клавиши? или вы хотите вообще не ждать нажатия клавиш?   -  person aschipfl    schedule 18.10.2016
comment
Я хочу иметь возможность настроить ответ netcat на основе запроса. Я имею в виду, что скрипт не должен ждать каких-либо данных от пользователя, потому что они будут предоставлены сценарием автоматически. Ну, по крайней мере, это то поведение, которое я ищу, но, насколько я понял, я не могу сделать это с помощью простых командных файлов!   -  person utxeee    schedule 18.10.2016