Войти

Показать полную графическую версию : [решено] Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat


seriych
07-03-2010, 00:24
У меня есть много .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.

ShaddyR
07-03-2010, 01:12
seriych, FAR-manager (если не боишься консольных приложений ;) )

seriych
07-03-2010, 03:00
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 раз запустить батник с указанным выше кодом, и в консоли тоже русский будет правильно отображаться. Можно написать батник для возвращения точечного шрифта, если хотим оставить как было. Еще осталось проверить для висты и семерки- там вроде другие шрифты. Завтра посмотрю.

amel27
07-03-2010, 10:39
В начале добавляем chcp 1251, в конце chcp 866. »
можно и без этого:

REG ADD HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v CodePage /t REG_DWORD /d 1251 /f

Iska
25-11-2010, 00:15
Удалить добавленный этой командой параметр «CodePage» из реестра.

atf7
25-11-2010, 00:21
Iska,
Уже стер предыдущее свое сообщение, так как помогла манипуляция из шапки. Все русифицировалось как раньше и команды с русскими папками стала делать.

nixuz
21-07-2011, 12:35
Попробовал на Win XP SP3 Русская изначально

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

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

ferget
21-07-2011, 12:49
удалить из реестра

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

reg DELETE /?




© OSzone.net 2001-2012