Как вывести результат выполнения команды в файл в Windows

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

В этой инструкции подробно о том, как выводить результаты выполнения команд Windows не только в окне консоли, но и в текстовый файл на диске. На близкую тему: Способы создания текстового файла в командной строке и PowerShell.

Командная строка

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

Вывести результат выполнения команды командной строки в текстовый файл можно следующими способами:

  1. Первый вариант — простой вывод в файл. При этом если файл уже существует, он будет перезаписан, а в окне консоли вывод команды не отобразится:
    команда > путь_к_файлу
    Добавить в заметки чтобы посмотреть позже?

    Чтобы узнавать о свежих записях укажите email:

    Пример вы можете увидеть на скриншоте ниже. Команда для вывод в текстовый файл в командной строке

  2. Второй метод не затирает предыдущее содержимое файла, если оно уже есть, а добавляет вывод команды к уже имеющемуся в файле содержимому. Как и в предыдущем случае в окне консоли результат отображаться не будет:
    команда >> путь_к_файлу

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

  3. Если требуется вывод в файл с одновременным выводом в окне командной строки, можно использовать следующий подход:
    команда >> путь_к_файлу | type путь_к_файлу

    Вывод в текстовый файл и в консоль

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

Windows PowerShell

Если команды выполняются в PowerShell, вы можете использовать команду Tee-Object следующими способами:

  1. Вывод результатов команды в текстовый файл и консоль с перезаписыванием данных в файле:
    команда | tee путь_к_файлу

    Вывод в текстовый файл с помощью Tee Object

  2. Вывод результатов команды в файл с добавлением вывода к имеющемуся содержимому файла:
    команда | tee -append путь_к_файлу
  3. Если нужно вывести в файл результаты выполнения ряда команд, включая сообщения об ошибках, вы можете использовать следующих подход:
    Start-Transcript -Path "путь_к_файлу"
    ваши команды
    Stop-Transcript

    Вывод в текстовый файл с помощью Start-Transcript

В части PowerShell приведены лишь базовые варианты, в действительности возможностей вывода нужных данных при выполнении команд в файл в этом языке присутствует больше. Но, надеюсь, для большинства моих читателей приведённых сведений будет достаточно для их задач.

+ +