Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 7

Прочесть что выведено в стороннею открытую консоль cmd

05.02.2018, 12:32. Показов 3236. Ответов 15

Студворк — интернет-сервис помощи студентам
Привет, не могу не где найти
Проблема такая: Есть скачанная с интернета программа, которая запускается при помощи "имя.bat" с прописанным заранее командами. После чего в открывшемся "имя.bat" который представляет собой консоль cmd идёт текстовое отображение хода работы программы.
Вопрос: Как вывести в textBox то, что отображается в этой консоли?
Можно пример кода?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.02.2018, 12:32
Ответы с готовыми решениями:

Считать все что было выведено в консоль
в консоль выводятся некоторые данные, их надо сохранить в файл в таком же формате (отступы, переносы и т.д.) как они выведены в консоль,...

Отправка команды в открытую cmd.exe
Здравствуйте, необходимо отправить в ЗАРАНЕЕ ОТКРЫТУЮ кмд команду. если вообще возможно. Добавлено через 27 минут Актуально, не могу...

cmd - зачем нужен если не возможно прочесть
Как там прочесть по-каковски написано. Набираешь команду: ipconfig /all и видишь на марсианском что-то. А мне нужен MAC adress. Win 7, x64,...

15
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.02.2018, 15:34
Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
Привет, не могу не где найти
давайте честно -- не искали.



Текст из командной строки cmd.exe
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 7
05.02.2018, 15:45  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
Спасибо умный тебе человек, когда же вы вымрете?
На том что ты скинул на скриншоте:
1 ответ на твоём снимке: Создание новой командной строки при помощи C# (НЕ ПОДХОДИТ! У меня сторонняя командная строка!!!)
2 ответ на твоём снимке: Выводит в консоль то, что написано в программе (НЕ ПОДХОДИТ! Мне нужно счесть консоль, а не написать в ней!!!)
3 ответ на твоём снимке: Использование cmd команд в C# (НЕ ПОДХОДИТ! Мне нужно счесть консоль, а не написать в ней!!!)
4 ответ на твоём снимке: Компилировать при помощи консоли (НЕ ПОДХОДИТ! Мне нужно счесть консоль, а не компилировать ей!!!)
Спасибо за понимание!
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.02.2018, 16:39
Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
Спасибо умный тебе человек, когда же вы вымрете?
и тебе не хворать

Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
Создание новой командной строки при помощи C# (НЕ ПОДХОДИТ! У меня сторонняя командная строка!!!)
Стороняя, это из Linux? или bat-файл внезапно перестал запускатся через cmd? Вообще указаный способ подходит для любой консольной программы. Ты вообще читал тему? Ровно твоя задача -- запустить программу/команду и получить текст, который она выдаст. Одно из решений -- задать в параметрах запуска указать вывод в файл.

К чему перечисления нижестоящий вариантов? Можно и на 10 пейджу поиска заглянуть, вдруг там еще чего не по теме.

И, к слову, я тупо взял название твоей темы, добавил "C#" и уже в первой ссылке получил решение. Можно еще поигратся с запросами к всезнающему гуглу, включая английский вариант "C# get output stream".

Ну или продолжай ждать, пока придет скучающий человек и наберет пример кода.
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
05.02.2018, 16:40
Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
Создание новой командной строки при помощи C# (НЕ ПОДХОДИТ! У меня сторонняя командная строка!!!)
Так в чем проблема? Сделайте приложение "обертку", которое бы запускало ваш bat-файл "изнутри" приложения с GUI.
Или мне тоже вымереть предложите?
0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 7
05.02.2018, 16:53  [ТС]
Цитата Сообщение от Wolfdp Посмотреть сообщение
и тебе не хворать


Стороняя, это из Linux? или bat-файл внезапно перестал запускатся через cmd? Вообще указаный способ подходит для любой консольной программы. Ты вообще читал тему? Ровно твоя задача -- запустить программу/команду и получить текст, который она выдаст. Одно из решений -- задать в параметрах запуска указать вывод в файл.

К чему перечисления нижестоящий вариантов? Можно и на 10 пейджу поиска заглянуть, вдруг там еще чего не по теме.

И, к слову, я тупо взял название твоей темы, добавил "C#" и уже в первой ссылке получил решение. Можно еще поигратся с запросами к всезнающему гуглу, включая английский вариант "C# get output stream".

Ну или продолжай ждать, пока придет скучающий человек и наберет пример кода.
Я спокойно писал cебе игрульки на C#, но тут мне потребовалось написать на .NET
Знаний на .Net чисто говоря, почти нету. И ещё кажется забыл указать, что мне нужно получать то что в командной строке не прерывно, а не один раз.

Добавлено через 1 минуту
Цитата Сообщение от _katon_ Посмотреть сообщение
Так в чем проблема? Сделайте приложение "обертку", которое бы запускало ваш bat-файл "изнутри" приложения с GUI.
Или мне тоже вымереть предложите?
Он предложил мне воспользоваться гуглом, а я вчера с 22 до 6 утра гуглил, вот и подгорело
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.02.2018, 17:40
Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
а я вчера с 22 до 6 утра гуглил, вот и подгорело
Вы где-то спец курсы проходите, по тому как не нужно искать в интернете?

Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
писал cебе игрульки на C#, но тут мне потребовалось написать на .NET
Unity? Я вообще хз, где шарп еще юзается, кроме .net

Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
И ещё кажется забыл указать, что мне нужно получать то что в командной строке не прерывно
https://msdn.microsoft.com/ru-... .110).aspx

внутри есть пример
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.IO;
using System.Diagnostics;
 
class StandardOutputExample
{
    public static void Main()
    {        
        Process process = new Process();
        process.StartInfo.FileName = "ipconfig.exe";        
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;        
        process.Start();
 
        // Synchronously read the standard output of the spawned process. 
        StreamReader reader = process.StandardOutput;
        string output = reader.ReadToEnd();
 
        // Write the redirected output to this application's window.
        Console.WriteLine(output);
 
        process.WaitForExit();
        process.Close();
 
        Console.WriteLine("\n\nPress any key to exit.");
        Console.ReadLine();
    }
}
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
06.02.2018, 01:32
fromNovosibirsk, тут нужна иньекция кода в сторонний процесс, где уже можно получить поток вывода с помощью GetStdHandle, продублировать его используя DuplicateHandle, а дальше использовать любой из методов межпроцессного взаимодействия для передачи инфы из этого хендла в другой процесс, например named pipe.
В общем, непростое это дело, к тому же антивирус может ругаться на подозрительную активность.
Вариант попроще, но имеет ограничения (можно читать буфер консольного окна, нельзя читать непосредственно stdout поток, если поток перенаправлен, то тоже прочитать не удастся): выполнить AttachConsole, чтобы присосаться к консоли нужного процесса, а потом GetStdHandle, ReadConsoleOutput.
1
Эксперт .NET
 Аватар для Usaga
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,339
06.02.2018, 05:56
nicolas2008, а вариант предложенный буквально на один пост выше не вариант? Всё что нужно - запустить стороннее приложение и всё, поток вывода у нас в руках.

Добавлено через 17 секунд

Не по теме:

Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
Спасибо умный тебе человек, когда же вы вымрете?
А вы когда вымрете, забаненные в гугле?

0
0 / 0 / 0
Регистрация: 05.02.2018
Сообщений: 7
06.02.2018, 06:03  [ТС]
Что за пост? Можно ссылку?
0
Эксперт .NET
 Аватар для Usaga
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,339
06.02.2018, 06:07
fromNovosibirsk, пост №7

Добавлено через 40 секунд
Вся магия:

C#
1
2
3
4
5
6
        ...
        process.Start();
 
        // Synchronously read the standard output of the spawned process. 
        StreamReader reader = process.StandardOutput;
        ...
Добавлено через 2 минуты
Так же, у класса Process есть свойство OutputDataReceived.
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
06.02.2018, 11:17
Цитата Сообщение от Usaga Посмотреть сообщение
а вариант предложенный буквально на один пост выше не вариант? Всё что нужно - запустить стороннее приложение и всё, поток вывода у нас в руках.
Этот вариант требует запуска нового процесса. Если ТС это устраивает, то конечно этот вариант самый лучший.
0
Эксперт .NET
 Аватар для Usaga
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,339
06.02.2018, 11:28
nicolas2008, так он и говорил, что будет запускать.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
06.02.2018, 13:35
Цитата Сообщение от nicolas2008 Посмотреть сообщение
тут нужна иньекция кода в сторонний процесс
ужс... автор не в состоянии нагуглить перехват вывода консоли или то что cmd в принципе умеет писать в файл, но зато иньекция кода через хендлеры -- самое оно.

Учитывая какая там документация и поле с граблями (решал один раз задачу с определением процесоров, запущеных под админов), могу только пожелать удачи. )
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
06.02.2018, 13:41
Цитата Сообщение от Usaga Посмотреть сообщение
так он и говорил, что будет запускать.
Исходил из названия темы и этого:
Цитата Сообщение от fromNovosibirsk Посмотреть сообщение
1 ответ на твоём снимке: Создание новой командной строки при помощи C# (НЕ ПОДХОДИТ! У меня сторонняя командная строка!!!)
0
Эксперт .NET
 Аватар для Usaga
14292 / 9377 / 1352
Регистрация: 21.01.2016
Сообщений: 35,339
06.02.2018, 13:45
nicolas2008, насколько я понял, "стороннюю командную строку" ТС получает запуская свой батник. О том, что он его может программно запустить, он не знал)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2018, 13:45
Помогаю со студенческими работами здесь

Как прочесть текстовый файл формата cp1251 и вывести на консоль?
Здравствуйте, хотелось понять как прочесть текстовый файл формата cp1251 и вывести на консоль.

Что будет выведено на экран?
Собственно вопрос что происходит в данном случае: printf("%d\n", (int*)3+2); Спасибо за помощь.

Что будет выведено на экран
var i:integer; begin i:=0; if i<0 then i:=1 else if i<0 then i:=2 else if i<=then 1:=3; writeln(i) end. Что будет выведено...

Что будет выведено на экран?
здравствуйте уважаемые программисты, вопрос следующий. что будет выведено на экран? #include <stdio.h> #define A(a) #...

Что будет выведено на экран?
Увидел только что такую вот интересную задачку на одном форуме #include <iostream> struct aaa { aaa(int i) { ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru