Блог did5.ru

Про АйТи и около айтишные темы

Кракозябры при выводе результатов в файл из cmd

5 комментариев

Командная строка (cmd.exe) – это один из основных инструментов системного администратора. Но у него есть недостаток. При выводе результата команды в текстовый файл в локализованной Windows, прочитать его содержимое не получится. Для примера вывел в файл справку программы ping:

ping /? >test.txt

chcp thumb Кракозябры при выводе результатов в файл из cmd

Перечитал кучу информации по этой теме, но нормального решения не нашел.

Остановился на варианте – переводить кодировку консоли в 855 (По умолчанию — 866), в которой все будет выводиться на английском языке. Перед выводом в файл ввожу в командную строку:

chcp 855

После этого все описания и комментарии к командам будут в оригинале, т.е. на английском. Чтобы вернуть кодировку по умолчанию, нужно указать кодировку 866, либо 1251 (Unicode – 65001).

Теперь при написании командных файлов (.bat), пишу в самом начале — chcp 855. Пример:

@echo off
chcp 855
cls
ping /? >test.txt

 

P.S. Вариант с переходом на шрифт Lucida Console и кодовую страницу 1251 мне не понравился. Он то срабатывает, то нет. Закономерности так и не заметил.

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!


Хотите поблагодарить автора за эту заметку? Вы можете это сделать!


Автор: did5

09 Июн 2011 в 16:03

Рубрика: IT,Windows

Метки:

5 комментариев на «Кракозябры при выводе результатов в файл из cmd»

Вы можете подписаться на RSS-ленту комментариев или оставить трекбек для публикации «Кракозябры при выводе результатов в файл из cmd».

  1. Я пользуюсь консольным перекодировщиком xcode.exe

    Примеры использования:

    ping /? |xcode -p -s >ping.help.txt

    или, если автоопределение подводит:

    ping /? |xcode -p -s +a -w >ping.help.txt

    Другой пример:

    xcode +w -a -s patch.reg

    Страница программы www.rusf.ru/books/yo/xcode.html

    Мне пришлось сделать в программе небольшие исправления, см. sehan.narod.ru/download/xcode.zip

    Сехан

    14 Янв 2012 в 13:26

  2. воспользоваться альтернативными блокнотами, которые понимают кодировку отличную от cp1251

    мне нравится Akelpad с некоторыми плагинами, кому-то по душе будет Notepad++ и т.п.

    MMX

    16 Фев 2012 в 22:24

  3. Вопрос от чайника.А как вывести результат команды,например, ipconfig /all в файл Notepad'а?

    Витя

    29 Янв 2014 в 05:02

  4. Витя, очень просто — ipconfig -all >> d:/ipconfig.txt

    did5

    29 Янв 2014 в 09:20

  5. Проще всего поменять шрифт в блокноте на Terminal.

    GloryS

    07 Ноя 2014 в 13:25

Ваш отзыв