Изменить cmd.exe свойства с помощью командной строки
-
09-09-2019 - |
Вопрос
Разве это не приятная рекурсивность?
У меня есть переносимая командная строка на моем внешнем диске, и в ней есть хороший файл .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-подсказок.