iamserge
@iamserge

Параллельное сохранение файла консоли где я хочу?

Есть консоль, в ней может быть всякое ... Но интерфейс где все это видно, явно не есть место хранения. И что то подсказывает мне, что есть некая область памяти или даже временный файл где все это на самом деле хранится.

Можно ли как то "включить" сохранение всего где хочу я, то есть указать папку и задать команду. Мол "Не только в консоль пиши, но еще и вот сюда C:\\\\asdsad\\sad сохраняй" ...

Хочется как то красиво сделать, не обвешать все записью в файл, после каждой команды ...
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
ну тогда уж гуглите 'mirror stdout', а то 'redirect stdout' именно перенаправит вывод в куда то. на экране будет пусто
или даже временный файл где все это на самом деле хранится
не такого
что то подсказывает мне, что есть некая область памяти
такое есть, это буффер вашего stdout, но для начала он под капотом системы. если в линуксе, то это одна история, если винде, то абсолютно другая. про винду добавлю - можете погрызть win32 api. с одной стороны гарантированно возможно залезть грязными ручками, даже из шарпа, в буффер stdout. с другой стороны гарантированно придется сильно напрягать мозги (с непривычка, а так то там ни че страшного) и много гуглить. а еще, в процессе такого обучения, наверняка иногда будете ронять систему. я так думаю. ибо если бы вы уже имели опыт общения с win32 api, то вряд ли бы задавали этот вопрос

ps вишенка на тортик - в шарпе можно элегантно добавить свои методы вывода, и дублировать вывод на экран и в файл, внутри такого метода. а еще есть просто море готовых либ логгирования, с огромным количество параметров

OMG

iamserge,
Я хотел как КРАСИВО! То есть продублировать еще раз, как все, но так чтобы КРАСИВО, как будто я не занимаюсь черти чем, а делаю не как все и весь такой молодец. Понимаете почему?
понимаю только что до вас не доходит абсолютно
То есть все таки нет? https://www.opennet.ru/docs/RUS/bash_scripting_gui...
Хм, нашел такая штука ... Оно Linux судя по всему, но суть ясная ... это вообще команда консоли, что судя по всему означает, что надо в "этом состоянии" запуститься ... Хм, мысль интересная ... Пока не выглядит красивым, что жаль.
то что вы нашли, это перенаправление. я об этом раз пять уже сказал. в винде тоже самое, с небольшими отличиями:
если у вас выхлоп без диалога, то все просто до отвращения - пишете скрипт, в котором перенаправляете в "куда хочу" выхлоп проги, а уже после ее оокончания, выводите его еще и на экран
а потоки ввода вывода, не смотря на различия в исходниках ядер операционнах систем GNU Linix и MS Windosw, иделогочески работают абсолютно одинаково. api разные. но идеология одна. перенаправить выхлоп готовой проги в скрипте элементарно, даже оператор для скриптов одинаковый >. но если вы захотите дублировать вывод (а именно так звучит ваш вопрос)
Параллельное сохранение файла консоли где я хочу?
то придеся лезть в системное программирование. и в Linix и Windosw

и последний раз повторяю - если вы пишете свою собственную программу на C# (!!! а таков тег вопроса), сделать свою функцию-заменитель Console.WriteLine()не соизмеримо проще. и в реализации. и в использовании
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы