При выполнении каких-либо команд в командной строке или PowerShell результат их выполнения отображается прямо в консоли: это удобно, но иногда требуется вывести сохранить эти результаты в файл для дальнейшей работы или анализа.
В этой инструкции подробно о том, как выводить результаты выполнения команд Windows не только в окне консоли, но и в текстовый файл на диске. На близкую тему: Способы создания текстового файла в командной строке и PowerShell.
Командная строка
Для команд командной строки возможны несколько способов вывода результатов в файл. Сама команда может быть любой, но в зависимости от того, какой из подходов вы будете использовать, результат будет отличаться.
Вывести результат выполнения команды командной строки в текстовый файл можно следующими способами:
- Первый вариант — простой вывод в файл. При этом если файл уже существует, он будет перезаписан, а в окне консоли вывод команды не отобразится:
команда > путь_к_файлу
Пример вы можете увидеть на скриншоте ниже.
- Второй метод не затирает предыдущее содержимое файла, если оно уже есть, а добавляет вывод команды к уже имеющемуся в файле содержимому. Как и в предыдущем случае в окне консоли результат отображаться не будет:
команда >> путь_к_файлу
Например, для команд приведенных на скриншоте, результат будет записан в файл дважды.
- Если требуется вывод в файл с одновременным выводом в окне командной строки, можно использовать следующий подход:
команда >> путь_к_файлу | type путь_к_файлу
В последнем случае вывод команды будет сохранен в файл, а затем уже содержимое сохраненного файла отображено в окне консоли.
Windows PowerShell
Если команды выполняются в PowerShell, вы можете использовать команду Tee-Object следующими способами:
- Вывод результатов команды в текстовый файл и консоль с перезаписыванием данных в файле:
команда | tee путь_к_файлу
- Вывод результатов команды в файл с добавлением вывода к имеющемуся содержимому файла:
команда | tee -append путь_к_файлу
- Если нужно вывести в файл результаты выполнения ряда команд, включая сообщения об ошибках, вы можете использовать следующих подход:
Start-Transcript -Path "путь_к_файлу" ваши команды Stop-Transcript
В части PowerShell приведены лишь базовые варианты, в действительности возможностей вывода нужных данных при выполнении команд в файл в этом языке присутствует больше. Но, надеюсь, для большинства моих читателей приведённых сведений будет достаточно для их задач.