Показать полную графическую версию : Смена шрифта в cmd ?
В cmd можно сменить цвет командой color , нельзя ли так же сменить и шрифт ?
Собственно проблема в том что по умолчанию в cmd стоит точечный шрифт и он не отображает русские буквы даже если меняешь кодовую страницу, а шрифт Lucida Console работает нормально, а поскольку приходится запускать батники на разных компах, менять там каждый раз шрифт не очень удобно.
Можно менять только кодовую страницу с помощью той же команды MODE, но сам такое практически не практиковал и строка сия была раз и навсегда прописана в AutoExec.bat еще во времена младших версий винды...
Нормального решения я не вижу, но... не примите за издевательство, однако некоторые краткие фразы на русском можно при большом желании "рисовать" табличной графикой, размещая символ в 3 строки текста. Для этого нужно заготовить шрифт и пользоваться текстовым редактором, поддерживающим вертикальные блоки (например встроенный в FAR).
ackerman2007
06-08-2009, 17:17
Может тогда сначала внести изменения в реестр, а потом запустить батник? Как-то так
reg add HKCU\Console /v FaceName /t REG_SZ /d "Lucida Console" /f
reg add HKCU\Console /v FontFamily /t REG_DWORD /d 0x0000036 /f
reg add HKCU\Console /v FontSize /t REG_DWORD /d 0x000e0000 /f
reg add HKCU\Console /v FontWeight /t REG_DWORD /d 0x0000190 /f
ackerman2007, Я когда-то делал нечто подобное, но это все же не очень удобно, приходится батник перегружать, и помню было что-то что не всегда срабатывало. Так-то мне кажется должен быть способ, ведь шрифт так же как и цвет можно изменить на ходу.
а как сделать вот это:
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
тут %SystemRoot% это не переменная, это ключ (часть ключа)
пробовал вот так:
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
но почему-то не помогло.
mitiya, если эти команды исполняются в пакетном файле, то должно помочь простое удвоение «%»:
reg add HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v FaceName /t REG_SZ /d "Lucida Console" /f
…
На Windows 7x86 на моей системе имеет место быть проблема с отображением кириллицы. http://savepic.org/3008784.png
Проблема решается путём выполнения вручную рекомендаций "...В папке C:\WINDOWS\system32, есть файлы С_1252 и С_1251 скопируйте куда нибудь С_1251 - переименуйте С_1251 в С_1252 оригинальный С_1252 удалите (дав права на него) и вставьте назад в C:\WINDOWS\system32 новый перименованный С_1251 в С_1252 и перезагрузитесь."
Автоматизировать процесс через батник не удаётся в связи с тем, что C_1252.NLS занят системой. Подскажите решение по автоматизации процесса
Нагуглил код, но почему-то баг не исправляется. Возможно проблемы с правами? Как придумать эмуляцию перезагрузки, чтобы реально не перезагружать компьютер? При выполнении рекомендаций в посте выше всё работает. Прошу гуру помочь с кодом.
@echo off
pushd %SystemRoot%\System32
for %%F in (C_1252.NLS C_1251.NLS) do call :STAND %%F C_1252.NLS
popd
echo.
pause
exit /b
:STAND
rem Не допускает повторной обработки:
if exist %1.bak goto :EOF
rem Устанавливает владельцем текущего пользователя:
takeown /f %1
rem Предоставляет текущему пользователю полный (F) доступ:
icacls %1 /grant %USERNAME%:(F)
rem Сохранение оригинального файла:
ren %1 %1.bak
::rem Подмена кодовой таблицы:
copy %1.bak %2
а этот метод не прокатывает что ли?
Использовать кодовую страницу 1251 вместо 1252.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1251.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1251.nls"
"1254"="c_1251.nls"
"1255"="c_1251.nls"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.