Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat (http://forum.oszone.net/showthread.php?t=169373)

seriych 07-03-2010 00:24 1362676

Как сделать, чтобы русские символы отображались и в блокноте, и при исполнении .bat
 
У меня есть много .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 1362700

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

seriych 07-03-2010 03:00 1362728

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 1362800

Цитата:

Цитата seriych
В начале добавляем 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 1550961

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

atf7 25-11-2010 00:21 1550965

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

nixuz 21-07-2011 12:35 1717059

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

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

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

ferget 21-07-2011 12:49 1717075

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

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

reg DELETE /?


Время: 16:29.

Время: 16:29.
© OSzone.net 2001-