Изменить cmd.exe свойства с помощью командной строки

StackOverflow https://stackoverflow.com/questions/945527

Вопрос

Разве это не приятная рекурсивность?

У меня есть переносимая командная строка на моем внешнем диске, и в ней есть хороший файл .bat для настройки некоторых начальных параметров, но я бы хотел большего!

Вот что я знаю , как установить из .bat:

  • Цвета = (цвет XY) где x и y - шестнадцатеричные цифры для предопределенных цветов
  • Prompt = (приглашение $p$g) задает для приглашения значение "C:\etc\etc >" приглашение по умолчанию
  • Title = (заголовок "текст") устанавливает заголовок окна в значение "текст".
  • Размер экрана = (режим con:cols=XX строк=YY) задает размер столбцов и строк окна
  • Path = (SET PATH=%~d0\bin;%PATH%) задает локальный путь к моим инструментам и добавляет путь к компьютеру

Так что все это здорово.Но есть несколько настроек, которые я, похоже, не могу установить с летучей мыши.Например, как бы я настроил их, не используя диалог свойств:

  • Буфер = не размер экрана, а размер буфера
  • Такие опции, как режим быстрого редактирования и автозаполнение
  • Всплывающие цвета
  • Шрифт.И можете ли вы использовать шрифт на переносном диске, или он должен быть установлен для работы?
  • Параметры истории команд
Это было полезно?

Решение

Что касается установки размера буфера:

Используя mode con: cols=XX lines=YY задает не только размер окна (screen), но и размер буфера.

Если вы укажете размер, разрешенный вашей системой, на основе доступного размера экрана, вы увидите, что размер окна и буфера имеют одинаковое значение;.например, g:

mode con: cols=100 lines=30

приводит к следующему (значения те же):

  • размер окна:Ширина=160, Высота=78
  • размер буфера:Ширина=160, Высота=78

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

mode con: cols=1600 lines=900

При разрешении экрана 1280x1024 вы получите:

  • размер окна:Ширина=160, Высота=78
  • размер буфера:Ширина=1600, Высота=900

Другие советы

Что касается автоматического завершения:

Заполнение имени файла и каталога По умолчанию НЕ включено.Вы можете включить или отключить заполнение имени файла для конкретного вызова CMD.EXE с помощью переключателя /F:ON или /F:OFF.Вы можете включить или отключить завершение для всех вызовов CMD.EXE на компьютере и/или сеансе входа пользователя в систему, установив одно или оба из следующих значений REG_DWORD в реестре с помощью REGEDT32.EXE:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

с шестнадцатеричным значением элемента управления символ, используемый для конкретной функции (например0x4 - это Ctrl-D, а 0x6 - это Ctrl-F).Пользовательские настройки имеют приоритет над настройками компьютера .Командная строка переключатели имеют приоритет над настройками реестра.

Если завершение включено с помощью переключателя /F:ON, используются два управляющих символа: Ctrl-D для завершения имени каталога и Ctrl-F для завершения имени файла.Чтобы отключить определенный символ завершения в реестре, используйте значение для пробела (0x20), поскольку это недопустимый управляющий символ .

Не удалось найти там какие-либо параметры истории команд (cmd /?), и похоже, что другие параметры, о которых вы спрашивали, устанавливаются исключительно через настройки реестра.

Вы можете установить эти значения с помощью ярлыка (.LNK-файл).

У меня есть ярлык на моем рабочем столе с таким названием в качестве "Target:"

%windir%\system32\cmd.exe /К C:\MIKE\STARTUP.CMD

Переключатель /K сообщает CMD запустить пакетный файл (который задает некоторые переменные, приглашение и т.д.), А затем оставаться открытым.

Если вы щелкните правой кнопкой мыши на ярлыке и просмотрите его свойства, вы можете задать размер окна и буфера, цвета всплывающих окон, начальное положение (оси x, y) и т.д.Настройки будут сохранены в самом ярлыке и будут применяться каждый раз, когда вы открываете CMD с помощью этого ярлыка.

Для настройки истинного размера буфера используйте DOSKEY /LISTSIZE=size

Вы больше не можете изменять цвета в командной оболочке, поскольку Microsoft убрала элемент управления ANSI ESC из командных / cmd-подсказок.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top