Русский текст в консоли BAT/CMD

Написав в блокноте Windows (Notepad.exe) батник 1.bat такого содержания:

@Echo off
Echo Введите текст. Завершение ввода - комбинация Ctrl+Z {ENTER}
copy con temp.txt

мы получим "абракадабру":



Почему так происходит?

Консоль работает в кодировке DOS (codepage 866).
Блокнот Windows создает пакетный файл в кодировке WIN (codepage 1251).
Поэтому, когда Вы запускаете файл, консоль отображает его в своей (DOS) кодировке.

Решение.

Сохранение файла в кодировке OEM-866
Скачаем текстовый редактор, поддерживающий сохранение текста в кодировке OEM-866 (DOS), например AkelPad.



Помните: в редакторе не должно быть видно "крякозябер", иначе это значит: Вы неправильно скопировали код.
В Windows Vista, 7 часто бывает, что код с форума "портиться" в буфере. Выход: когда копируете код, убедитесь, что включена русская раскладка клавиш.

Оригинал статьи