Подтвердить что ты не робот

CMD: экспортировать все содержимое экрана в текстовый файл

В командной строке. Как я могу экспортировать все содержимое экрана в текстовый файл (в основном команда копирования, просто не используя щелчок правой кнопкой мыши и буфер обмена)

Эта команда работает, но только для выполненных команд, а не для фактического вывода , а

doskey /HISTORY > history.txt
4b9b3361

Ответ 1

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

Перезаписать файл

MyCommand.exe>file.txt

^ Это откроет файл file.txt, если он уже существует и перезаписывает данные, или создает новый файл и заполняет его выходным

Добавить файл из своей конечной точки

MyCommand.exe>>file.txt

^ Это добавит файл file.txt из его текущего конца файла, если он уже существует, или создайте новый файл и заполните его своим выходом.


Обновление # 1 (расширенное):

Моя партия-fu со временем улучшилась, поэтому некоторые незначительные обновления.

Если вы хотите различать вывод ошибки и нормальный вывод для программы, которая правильно использует Стандартные потоки, STDOUT/STDERR, вы можете сделать это с незначительными изменениями в синтаксисе. Я просто использую > для перезаписи для этих примеров, но они отлично работают с >> для append в отношении перенаправления вывода файлов файлов.

1 до >> или > - это флаг для STDOUT. Если вам нужно на самом деле вывести номер один или два перед символами повторного направления, это может привести к странным, неинтуитивным ошибкам, если вы не знаете об этом механизме. Это особенно актуально при выводе единственного номера результата в файл. 2 перед символами повторного направления для STDERR.

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

STDERR для файла и подавления STDOUT

MyCommand.exe 1>nul 2>errors.txt

STDERR, чтобы записывать только ошибки журнала. Сохраняет STDOUT в консоли

MyCommand.exe 2>errors.txt

STDOUT для файла и подавления STDERR

MyCommand.exe 1>file.txt 2>nul

STDOUT только для файла. Будет держать STDERR в консоли

MyCommand.exe 1>file.txt

STDOUT в один файл и STDERR в другой файл

MyCommand.exe 1>stdout.txt 2>errors.txt

Единственное предостережение, которое я имею здесь, это то, что он может создать 0-байтовый файл для неиспользуемого потока, если один из потоков никогда не будет использоваться. В принципе, если ошибок не было, вы можете получить 0-байтный файл errors.txt.

Обновление # 2

Я начал замечать странное поведение при написании консольных приложений, которые писали напрямую на STDERR, и понял, что если бы я хотел, чтобы мой вывод ошибки попадал в один и тот же файл при использовании базового трубопровода, мне приходилось комбинировать потоки 1 и 2 или просто используйте STDOUT. Проблема с этой проблемой заключается в том, что я не знал о правильном способе объединения потоков, который this:

%command% > outputfile 2>&1

Поэтому, если вы хотите, чтобы все теги STDOUT и STDERR были отправлены в один поток, убедитесь, что вы используете их так:

MyCommand.exe > file.txt 2>&1

Редиректор по умолчанию по умолчанию имеет значение 1> или 1>>, даже если вы явно не используете 1 перед ним, если вы не используете число перед ним, а комбинация 2>&1 потоки.

Ответ 2

Просто просмотрите эту страницу

в cmd-типе:

Command | clip

Затем откройте файл *.Txt и Paste. Это. Готово.

Ответ 3

Если вы ищете каждую команду отдельно

Чтобы экспортировать все выходные данные командной строки в текстовые файлы. Просто выполните следующий синтаксис.

C:> [syntax] >file.txt

Вышеприведенная команда создаст результат синтаксиса в файле .txt. Если новый файл .txt будет создан в текущей папке, в которой вы находитесь.

Например,

C:Result> dir >file.txt

Чтобы скопировать весь сеанс, попробуйте следующее:

Copy & Paste a command session as follows:

1.) At the end of your session, click the upper left corner to display the menu.
Then select.. Edit -> Select all

2.) Again, click the upper left corner to display the menu.
Then select.. Edit -> Copy

3.) Open your favorite text editor and use Ctrl+V or your normal
Paste operation to paste in the text.

Ответ 4

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

@echo off
call file.bat >textfile.txt 2>&1

В противном случае используйте фильтр tee. Есть много, некоторые не совместимы с NT. SFK Швейцарский армейский нож имеет тройную функцию и все еще разрабатывается. Возможно, это сработает для вас.

Ответ 5

Как насчет этого:

<command> > <filename.txt> & <filename.txt>

Пример:

ipconfig /all > network.txt & network.txt

Это приведет к результатам в Notepad вместо командной строки.

Ответ 6

Из командной строки Запуск от имени администратора. Пример ниже - распечатать список служб, запущенных на вашем компьютере, выполнить следующую команду:

net start > c:\netstart.txt

Вы должны увидеть копию текстового файла, который вы только что экспортировали, со списком всех служб ПК, работающих в корневом каталоге вашего диска C:\