1 / 1 / 0
Регистрация: 12.06.2015
Сообщений: 67
1

Перехват вывода консольного приложения (сложный вариант вывода приложением информации на консоль)

13.09.2021, 13:21. Показов 400. Ответов 2

Добрый день.
.
Столкнулся с такой проблемой.
Есть консольное приложение "cisco vpn client 4.7", которое работает как консольное приложение и выводит некую информацию на консоль (экран).
Для анализа выводимой информации консольным приложением Cisco необходимо перехватить вывод и сделать некие действия в BAT файле.
.
НО !!!

Не по теме:

Я еще раз убедился как отвратительно "буржуи" пишут программы, особенно IT гиганты.


.
См. прикрепленные файлы.
Файл: "aaa.txt" информация консольного приложения Cisco, выведенная в текстовый файл. (В файле урана служебная информация).
Файл: "aaa_hex.txt" информация консольного приложения Cisco, выведенная в текстовый файл в HEX формате по символьно.
.
Обратите внимание, на управляющие символы "0xD", "0xA" в текстовом файле и его HEX представлении для быстроты понимания проблемы вывода на консоль. Специально выделил отдельные строки с управляющими символами "0xD" и "0xA" как они встречаются в оригинальном выводе на консоль приложения Cisco.
.
Пробую вывести хотя бы полученный текстовый файл на консоль, естественно получаю следующие надписи "Режим вывода команд на экран (ECHO) отключен."
.
Вопрос как "грамотно" вывести информацию на консоль из файла, чтобы НЕ было таких надписей ? Как быть в данной ситуации ?
.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
SET "command1=D:\Work_Test\aaa.txt"
set /a "_IEOL=0x0D"       & rem // (incoming line-breaks; '0d' or '0a')
set /a "_OEOL=0x0A"       & rem // (outgoing line-breaks; '0d', '0a', '0d 0a', '')
 
rem set /a _OIEOL=0xD0xA   & rem // (outgoing line-breaks; '0d', '0a', '0d 0a', '')
rem from       \       to||Mac (CR)             ||Unix/Linux (LF)      ||DOS/Windows (CR+LF)  
rem Mac (CR)             ||#####################||_IEOL=0d, _OEOL=0a   ||_IEOL=0d, _OEOL=0d 0a
rem Unix/Linux (LF)      ||_IEOL=0a, _OEOL=0d   ||#####################||_IEOL=0a, _OEOL=0d 0a
rem DOS/Windows (CR+LF)  ||_IEOL=0a, _OEOL=     ||_IEOL=0d, _OEOL=     ||#####################
Rem 0d - символ возврата каретки (CR)
Rem 0a - символ перевода строки (LF)
 
echo.
for /f "delims=" %%a in ('type "%command1%"') do (
  set "var=%%a"
  echo !var!
)
echo.
EndLocal
.
Need Help !!!
.
Вложения
Тип файла: txt aaa.txt (1.6 Кб, 8 просмотров)
Тип файла: txt aaa_hex.txt (5.0 Кб, 8 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2021, 13:21
Ответы с готовыми решениями:

Перехват вывода консольного приложения
Добрый вечер, Я запускаю процесс через System.Diagnostics.Process.Start(), процесс должен вернуть...

Перехват вывода консольного приложения
Если попал не туда, извиняйте и перенаправьте куда надо... Всем привет, проблема в следующем:...

Перехват вывода консольного приложения в реальном времени
Всем доброго утра! Суть в чем: есть такое консольное приложение for($x=0; $x<20; $x++) {...

Перехват консольного вывода и запись в TextBox
Мне необходимо сделать графическую оболочку для компилятора на C#. В частности необходимо вывести...

2
4329 / 2119 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.09.2021, 15:13 2
для вашего запроса есть отдельный раздел Cisco.
0
1 / 1 / 0
Регистрация: 12.06.2015
Сообщений: 67
13.09.2021, 15:25  [ТС] 3
Цитата Сообщение от alpap Посмотреть сообщение
для вашего запроса есть отдельный раздел Cisco.
.
Мне нужен обработчик, именно на BAT/CMD файлах, перехвата консольного вывода приложения Cisco.
Вместо Cisco может быть любая консольная программа (например, команда "type").
Поэтому свой вопрос разместил здесь, в этом форуме.
.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2021, 15:25
Помогаю со студенческими работами здесь

Перехват вывода консольного окна, запущенного другой программой
Привет всем барсикам :) и заглянувшим в тему ! Есть программа, которая создает консольное окно,...

перехват вывода в консоль
Привет. Нужно написать программу которая бы запускала дочернее консольное приложение (разработанное...

обработка вывода консольного приложения
Доброго времени суток! Возможно подобная тема уже была, но все же задам вопрос по конкретной...

Чтение вывода консольного приложения
Хочу сделать обработку данных из консольной программы WinDump без промежуточного сохранения в файл....

Получение вывода из консольного приложения
Выполняю команду в консоле виндовс: c:\projects\test>git log В результате вижу следующий...

Вопрос по поводу консольного вывода информации на экран в C++ Builder
У меня такой вопрос: как сделать так чтобы по умолчанию в билдере запуская консольное приложение,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru