Иногда возникает желание зафиксировать результат выполнения команды в cmd . Как правило , такое желание возникает , когда текст не помещается в окно командной строки ( cmd ).
Синтаксис для записи результата выполнения команды простой .
Команда_с_ключами > путь_к_файлу имя_файла.txt
То есть вначале пишется команда со всеми ключами и параметрами , а сразу после последнего символа ставиться символ > потом пробел и пишется путь и имя файла , в который будет сохранен результат . Результат будет сохранен в файл без вывода на экран . Файл сохраняется в кодировке DOS-866.
Для примера , выполним команду ping itindustry-spb.ru с записью на диск D в файл ping.txt
Для этого в командной строке выполняем команду ping itindustry-spb.ru > D: ping.txt
Ниже показан результат выполнения этой команды
Командная строка в операционной системе Windows довольно удобный инструмент, который позволяет делать многие вещи намного быстрее. Но она имеет один недостаток с ней нельзя работать также как с другими программами. Текстовый интерфейс требует знания специальных команд. В данной статье мы рассмотрим два способа сохранения вывода командной строки.
Как добавить свою команду в командную строку Windows
Часто возникает необходимость сохранить вывод из командной строки.
Способ № 1. Сохранения текста из командной строки в файл.
Если после команды добавить >> и ввести адрес текстового документа, то результаты выполнения данной команды будут сохранены в этом файле.
Например, вводим ipconfig /all >> d:cmd.txt и жмем ввод для выполнения команды. После того как команда будет выполнена в текстовом файле cmd.txt на диске d: будут сохранены все результаты. При этом в текст будет закодирован с помощью кодировки IBM CP866. Поэтому для того чтобы его открыть придётся использовать сторонние приложения, например программу Akelpad.
Способ № 2. Сохранение текста из командной строки в буфер обмена.
С помощью команды clip вывод командной строки можно направить в буфер обмена. Для этого после команды нужно добавить: | clip (пробел, вертикальная черта и команда clip) .
Например, вводим ipconfig /all | clip и жмем ввод для выполнения команды. Когда выполнение команды будет завершено, результаты будут помещены в буфер обмена. Для того чтобы воспользоваться этими результатами достаточно вставить текст в любом текстовом редакторе с помощью всем известной комбинации клавиш Cntrl+V.
Способ № 3. Скопировать текст из командной строки.
Последний способ позволяет сохранить не только результаты работы команды, но и всю остальную информацию из командной строки.
Чтобы это сделать кликаем правой кнопкой мышки по командной строке и вызываем контекстное меню. В открывшемся меню выбираем пункт «Пометить».
Как создать файл в командной строке
После этого выделяем текст в командной строке с помощью мышки и нажимаем на клавишу Enter. После нажатия на Enter выделение исчезнет, а текст будет скопирован в буфер обмена.
Командная строка — неизменный компонент любой операционной системы Windows, который берет свое происхождение прямиком от её предка — операционной системы MS-DOS. Данная программа имеет довольно широкие возможности, но сейчас мы поговорим о довольно примитивной вещи — сохранение (по факту — перенаправление) вывода командной строки в текстовый файл.
Описание
В случае, если необходимо просто сохранить все, что вывела командная строка в текстовый файл, то нужно после введенной команды добавить символ «>», что приведет к созданию текстового файла и весь вывод командной строки отправится туда. Пример:
Как видно, командная строка не вывела никакого результата введенной команды на экран, но зато сохранила все в файл ping.txt. К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно отображать вывод и в окне командной строки, и сохранять их в текстовый файл. Однако, можно воспользоваться хитростью — сразу по завершению выполнения команды вывести содержимое текстового файла на экран с помощью команды type. Получится что-то следующее:
Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа «>» использовать два — «>>».
Почитать о том, как сделать тоже самое в LinuxBSD системах можно в этой статье.
Другие статьи:
Комментарии:
У меня есть программа на Visual Studio C++ она выводит числа и текст,можно ли как-то сохранять все что выводит в текстовый документ?
Искал в интернете ничего не нашел про вывод в текстовый документ именно в C++.
Если у Вас программа в Visual Studio, то есть, вы обладаете её исходными кодами — то Вам нужно модифицировать её исходный код, добавив помимо вывода чисел и текста на экран, сохранение в текстовый файл.
А ещё такой вопрос. В Файл всё Сохраняется нечитабельно, можно исправить с помощью той же командной строки?
Самый простой вариант, который без проблем подойдет для большинства случаев — это сперва выполнить команду chcp 855 . Единственный минус — при этом все будет на английском.
Добрый день.
Тогда можно можно ещё и на ФТП грузить результат ?)
Можно, но для этого нужно будет лучше написать отдельную статью. Как руки дойдут — обязательно сделаю!
Не совсем понял про какие переменные для ping или systeminfo идет речь, поэтому лучше уточните, что именно вы хотите сделать.
Если же речь идет про переменные, вроде %COMPUTERNAME% , то их можно найти выполнив в командной строке команду set , либо по запросу «Переменные среды» в интернете.
ДА, лучше, благодарю. Напоследок, где поточнее можно почитать про другие переменные, которые может использовать тот же ping или systeminfo (нужно было для systeminfo), а то в хелпе к systeminfo описаны лишь несколько базовых операций, а про переменные ни слова.
А вам не проще будет использовать имена компьютеров в имени файлов отчета? Для этого используйте переменную %COMPUTERNAME% в названии файла, в который идет сохранение, например:
Подскажите, а как можно сохранять файл отчета с новыми номерами, чтобы они шли по порядку друг за другом?
То есть, я сохраняю файл отчета, то же самое проделывается на других машинах и все сохраняется в одну папку с одинаковым именем файла (потому что сделано через bat), как сделать, чтобы файл нумеровался и не заменялся.
Что подразумевается под общим диском? Если сетевой диск, то у него должна быть конкретная буква, под которой он смонтирован в системе, и нужно проделать все то же самое, о чем написано в статье:
ping 8.8.8.8 > Z: est.txt
Если под общим диском подразумевается сетевая «шара», то и тут нужно делать все тоже самое, например:
ping 8.8.8.8 > serverupload est.txt
А возможно ли записать файл с результатом на общий диск?
Источник: softlast.ru
Как сохранить весь вывод программы в командной строке Windows?
Скажем, у вас есть программа, которая дает много результатов. Кажется, что командная строка, к сожалению, не сохраняет все это (есть только пока вы можете прокрутить вверх).
Есть ли способ сохранить все это?
изменён Der Hochstapler 68k
задан Nathaniel 3k
5 ответов 5
Увеличение размера буфера — лучший способ, если вы просто хотите прокрутить вверх и увидеть выходные данные, которые вы можете настроить в свойствах.
Если вы добавляете файл, вы, вероятно, захотите ошибки, если они есть:
C:>somecommand.exe > «C:pathtooutput.txt» 2>somecommand.exe | less
затем вы можете использовать f для перехода вперед или b для перехода назад.
ответ дан John T 143k
Чтобы просто захватить вывод в файл, см. Другие ответы. Вы также можете увеличить сумму до текста, который вы можете прокрутить назад и увидеть до предела.
Открыв окно командной строки, щелкните значок [C:] в строке заголовка, чтобы открыть меню и выбрать свойства. На вкладке Layout измените размер экранного буфера-> Height на 9999. Это позволит вам прокрутить назад столько строк в окне.
ответ дан Donald Byrd 720
Используете ли вы Windows XP, если вы можете добавить к своей команде | more
В качестве альтернативы вы можете использовать
операторы перенаправления команд
,
Эта страница имеет больше информации для вас.
ответ дан Kevin Boyd 956
Выведите результаты в файл, например так:
C:> RunMyProgram.exe > outputfile.txt
ответ дан Rob Farley 313
Вы можете увеличить размер буфера в истории команд (по умолчанию 50) для свойств. Вы можете попробовать что-то вроде 500 или даже 5000, чем вы сможете прокрутить намного больше.
Другой способ — перенаправить вывод в файл, используя символ «>»:
C:> someCommand> output.txt
чем открыть файл TXT, и вы должны увидеть вывод для команды там.
Источник: poweruser.guru
Как вывести данные из командной строки или PowerShell в текстовый файл
В Windows 10 возможность сохранения результатов команды PowerShell или командной строки в текстовом файле может оказаться полезной во многих случаях. Например, когда вы устраняете проблему, это удобный способ экспортировать и анализировать вывод команды, или вы можете поделиться выводом с кем-то, кто может помочь. Вы можете распечатать вывод команды в текстовый файл, чтобы сохранить данные конфигурации системы для целей документации и многого другого.
Хотя вы можете просто выбрать содержимое, щелкнуть его правой кнопкой мыши, чтобы скопировать содержимое в буфер обмена, а затем вставить в текстовый файл, этот метод требует дополнительных шагов, которых можно избежать с помощью одной команды, использующей перенаправления вывода.
В этом уроке по Windows 10 мы расскажем, как сохранить вывод команды в текстовый файл, независимо от того, используете ли вы командную строку или PowerShell.
Как сохранить вывод командной строки в файл
Чтобы сохранить вывод команды в текстовый файл с помощью командной строки, выполните следующие действия:
- Откройте командную строку от имени администратора.
- Введите следующую команду, чтобы сохранить вывод в текстовый файл и нажмите Enter : ваша-команда > c:путьпапкафайл.txt В этой команде обязательно замените «ваша-команда» на ваш запрос в командной строке, а «c:путьпапкафайл.txt» на путь и имя файла для хранения вывода.
- (Необязательно) Если вы хотите сохранить вывод и просмотреть результат на экране, используйте эту команду и нажмите Enter : ваша-команда > c:путьпапкафайл.txt | type c:путьпапкафайл.txt В этой команде обязательно замените «ваша-команда» на ваш запрос в командной строке, а «c:путьпапкафайл.txt» на путь и имя файла для хранения вывода. Совет: если у вас возникли проблемы с просмотром файла, вы можете использовать команду type c:путьпапкафайл.txt после шага 3.
После того, как вы выполните эти шаги, выходные данные команды будут сохранены в текстовом файле, который вы затем сможете просмотреть или отправить в службу технической поддержки.
Как сохранить вывод команды в файл с помощью PowerShell
Чтобы сохранить вывод команды в текстовый файл с помощью PowerShell, выполните следующие действия:
- Откройте PowerShell, например, через системный поиск Windows.
- Введите следующую команду, чтобы сохранить вывод в текстовый файл и нажмите Enter : ваша-команда | Out-File -FilePath c:путьпапкаданные.txt В этой команде обязательно замените «ваша-команда» на нужную вам командную строку, а «c:путьпапкаданные.txt» на путь и имя файла для хранения выходных данных.
- (Необязательно) Введите следующую команду, чтобы просмотреть сохраненный вывод на экране, и нажмите Enter : Get-Content -Path c:путьпапкаданные.txt В этой команде обязательно замените «c:путьпапкаданные.txt» на путь и имя файла с выходным содержимым.
После выполнения шагов команда PowerShell сохранит результат в текстовый файл в указанном вами месте.