Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat

Ответить
Настройки темы
CMD/BAT - [решено] Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat

Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: seriych
Дата: 07-03-2010
У меня есть много .bat файлов, в которых есть русские имена папок и русские комментарии. При выводе в консоль тоже надо, чтобы не кракозябами было. Бат- файлы мне нужно часто редактировать и постоянное переименовывание в .txt и последующее открывание в Wordpad(там еще и кодировку файла вручную выбирать приходится) уже порядком надоело. chcp 1251 ... chcp 866 хороший вариант, но тогда надо заранее позаботится о смене шрифта в CMD, ибо стандартный шрифт все равно кракозябрами рисует. Может как-то на лету сменить шрифт можно через cmd?
В общем, какие есть варианты сделать так, чтобы bat файл корректно выводил русские символы и при этом лекго было редактировать русские символы в этом .bat файле?
Ставить софт- не предлагать, ибо постоянно на новых компьютерах надо редактировать и исполнять. Но если есть какой-нибудь портабельный редактор, умеющий открывать .bat с русскими буквами, то можно и подумать.

Найденное решение:
Набираем .bat файлы в блокноте (или другом редакторе), используя обычные русские буквы. На компьютере, где нужно использовать эти батники достаточно один раз сменить шрифт консоли:
Код: Выделить весь код
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CodePage /t REG_DWORD /d 1251 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 0x0000036 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x000c0000 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 0x0000190 /f
После этого можно спокойно использовать/редактировать батники с русскими буквами.
Протестировано на WinXP x86, Win7 x86 и Win7 x64.

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:24, 07-03-2010

 

Аватара для ShaddyR

Железных Дел Мастер


Moderator


Сообщения: 24532
Благодарности: 4498

Профиль | Сайт | Отправить PM | Цитировать


seriych, FAR-manager (если не боишься консольных приложений )

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов


Отправлено: 01:12, 07-03-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


ShaddyR,
Я-то не боюсь, но не только мне пользоваться. Фар не слишком подходящая вещь.

Вот нашел темку по смене шрифта в консоли: http://forum.oszone.net/post-1199301.html
Предлагается сделать так:
Код: Выделить весь код
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontFamily /t REG_DWORD /d 0x0000036 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontSize /t REG_DWORD /d 0x000c0000 /f
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FontWeight /t REG_DWORD /d 0x0000190 /f
Но это у меня работает только после перезагрузки, чего хотелось бы избежать.

upd:
А нет, работает! Я просто с ярлыка запускал cmd.
То есть делаем батники в обычном блокноте, все русское пишем обычными русскими буквами. В начале добавляем chcp 1251, в конце chcp 866. На компьютере, где нужно работать с батниками, достаточно 1 раз запустить батник с указанным выше кодом, и в консоли тоже русский будет правильно отображаться. Можно написать батник для возвращения точечного шрифта, если хотим оставить как было. Еще осталось проверить для висты и семерки- там вроде другие шрифты. Завтра посмотрю.

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©


Последний раз редактировалось seriych, 07-03-2010 в 03:28.


Отправлено: 03:00, 07-03-2010 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата seriych:
В начале добавляем chcp 1251, в конце chcp 866. »
можно и без этого:
Код: Выделить весь код
REG ADD HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CodePage /t REG_DWORD /d 1251 /f
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:39, 07-03-2010 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Удалить добавленный этой командой параметр «CodePage» из реестра.

Отправлено: 00:15, 25-11-2010 | #5


Аватара для atf7

Старожил


Автор проектов


Сообщения: 343
Благодарности: 58

Профиль | Отправить PM | Цитировать


Iska,
Уже стер предыдущее свое сообщение, так как помогла манипуляция из шапки. Все русифицировалось как раньше и команды с русскими папками стала делать.

Отправлено: 00:21, 25-11-2010 | #6


Новый участник


Сообщения: 47
Благодарности: 1

Профиль | Отправить PM | Цитировать


Попробовал на Win XP SP3 Русская изначально

Теперь кирилица из батника отображается норм, а кирилица системная каракулями (ну то есть где в консоли пишется "команда успешно завершена" и т.п.)

Как отменить?

Отправлено: 12:35, 21-07-2011 | #7


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


удалить из реестра

заменить ADD на DELETE

reg DELETE /?

Отправлено: 12:49, 21-07-2011 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - как сделать чтобы при выключении пошел в спящий режим gulpit Microsoft Windows 2000/XP 4 05-03-2010 00:10
Интерфейс - Как сделать чтобы в панели управления отображались некоторые exe-шники Fusion-95 Microsoft Windows 2000/XP 1 14-03-2009 15:24
Разное - Как сделать чтобы все папки отображались в Brew mobile Commander diaba Программное обеспечение Windows 1 15-02-2008 13:50
CMD/BAT - [решено] Как сделать чтобы *.bat-ник удалял сам себя? Maximlian Скриптовые языки администрирования Windows 2 06-04-2005 21:22
Как сделать так чтобы папка /tmp очищалась при выключении damnis Общий по Linux 7 15-08-2003 02:52




 
Переход