%%a) получить составляющие пути используйте модификаторы:%%~fa - полный путь
%%~dpa - только диск и путь без имени файла
%%~nxa - имя файла и расширение%%~dpa от файла, затем отбросить завершающий слеш с помощью обрезания строки в set (точно не помню, может его и нет, нужно проверять), затем от полученного результата взять %%~nxb. Как видите переменная цикла уже другая, потому что модификаторы не применяются к обычным переменным, только к переменным цикла и к параметра батника (или процедуры). Т.е. результат %%~dpa нужно загнать в for /f, чтоб получить следующую переменную цикла.for) присваивать обычным переменным значение и затем тут же их читать нужно выставить setlocal enabledelayedexpansion и при обращении к переменной использовать символы восклицательного знака, а не знак процента. Это называется отложенное расширение переменных. Без этого присваивание и использование переменной внутри скобок не работает (точнее работает, но не так как вы ожидаете).for /?set /?
setlocal /?
if /? find /?
findstr /?
for /? я могу ждать в recv хоть сколько, если это в принципе допустимо сокетами.
Т.е. при испоьзовании блокирующих сокетов можно вообще без poll/select обойтись и сразу вызывать recv и в ней сидеть и ждать
ВПН сервер так же должен иметь валидный маршрут к сети 192.168.11.0.
Так же и сеть 192.168.11.0 и ее ВПН сервер должны иметь маршруты до ПК1.
Все как обычно. Забудьте что там у вас еще и ВПНы, просто стройте таблицу маршрутизации на хостах так, как будто они соединены через обычные маршрутизаторы. Маршруты по умолчанию, естественно то же везде актуальны.