Написав в блокноте 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 часто бывает, что код с форума "портиться" в буфере. Выход: когда копируете код, убедитесь, что включена русская раскладка клавиш.
Оригинал статьи