Как сохранить в текстовый файл вывод командной строки Windows

  • Автор:
  • Опубликовано:
  • Изменено:
  • Просмотры: 1 657
  • Комментарии: 6
  • Рейтинг: 100,00%
  • Голосов: 3

Если вам требуется для какой-то цели сохранить в текстовый файл вывод какой-либо команды из командой строки, то необходимо после команды добавить символ ">", что приведет к созданию текстового файла и весь вывод командной строки отправится туда. Пример:

ping 8.8.8.8 > C:\Logs\ping.txt

cmd-to-file-01
Как можно увидеть на картинке, через командную строку идет пинг ip адреса 8.8.8.8, и весь вывод отправляется в файл ping.txt, расположенного по адресу "C:\Logs", однако в самой командой строке ничего нет. Для того, чтобы результаты выполнения команды отображались и в окне командной строки, и писались в файл, необходимо вместо ">" написать "2>". Пример:

ping 8.8.8.8 2> C:\Logs\ping.txt


Теперь можно будет наблюдать результаты выполнения команды ping, которые так же будут писаться в файл ping.txt.
Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа ">" использовать два - ">>".

ping 8.8.8.8 >> C:\Logs\ping.txt

Так же это работает и с командой для отображения в командной строке результатов выполнения приложения:

ping 8.8.8.8 2>> C:\Logs\ping.txt

Почитать о том, как сделать тоже самое в Linux/BSD системах можно в этой статье.

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
  • Руслан:

    А возможно ли записать файл с результатом на общий диск?

  • Recluse:

    Что подразумевается под общим диском? Если сетевой диск, то у него должна быть конкретная буква, под которой он смонтирован в системе, и нужно проделать все то же самое, о чем написано в статье:

    ping 8.8.8.8 2> Z:\test.txt

    Если под общим диском подразумевается сетевая "шара", то и тут нужно делать все тоже самое, например:

    ping 8.8.8.8 2> \\server\upload\test.txt

  • Павел:

    Подскажите, а как можно сохранять файл отчета с новыми номерами, чтобы они шли по порядку друг за другом?
    То есть, я сохраняю файл отчета, то же самое проделывается на других машинах и все сохраняется в одну папку с одинаковым именем файла (потому что сделано через bat), как сделать, чтобы файл нумеровался и не заменялся.

  • Recluse:

    А вам не проще будет использовать имена компьютеров в имени файлов отчета? Для этого используйте переменную %COMPUTERNAME% в названии файла, в который идет сохранение, например:

    ping 8.8.8.8 2> E:\%COMPUTERNAME%.txt
  • Павел:

    ДА, лучше, благодарю. Напоследок, где поточнее можно почитать про другие переменные, которые может использовать тот же ping или systeminfo (нужно было для systeminfo), а то в хелпе к systeminfo описаны лишь несколько базовых операций, а про переменные ни слова.

  • Recluse:

    Не совсем понял про какие переменные для ping или systeminfo идет речь, поэтому лучше уточните, что именно вы хотите сделать.

    Если же речь идет про переменные, вроде %COMPUTERNAME%, то их можно найти выполнив в командной строке команду set, либо по запросу "Переменные среды" в интернете.

Добавить комментарий

Ваш e-mail не будет опубликован.