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

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

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

Вот что я умею ставить из .bat:

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

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

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

person CodexArcanum    schedule 03.06.2009    source источник
comment
Скорее всего, это должно быть на ServerFault.com — возможно, вам повезет получить ответ там.   -  person Nate    schedule 03.06.2009
comment
Поскольку вы, очевидно, являетесь опытным пользователем, вы можете попробовать альтернативу CMD.EXE, например Cygwin (bash/zsh) или Microsoft PowerShell. Оба хорошо подходят для настройки, хотя лично я не использовал PowerShell.   -  person Rob H    schedule 03.06.2009
comment
Мне нравится Powershell, но он не портативный (ну... не без некоторых хитростей и программного обеспечения ThinApp). Portable cygwin может быть хорошей альтернативой. Интересно отметить, что программа Console2 (как оболочка вокруг оболочки) кажется идеальной, но она не работает с переносимой командной строкой! Иди разберись.   -  person CodexArcanum    schedule 05.06.2009
comment
для быстрого редактирования проверьте это   -  person npocmaka    schedule 08.01.2017


Ответы (4)


Относительно установки размера буфера:

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

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

mode con: cols=100 lines=30

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

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

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

mode con: cols=1600 lines=900

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

  • размер окна: Ширина = 160, Высота = 78
  • размер буфера: Ширина = 1600, Высота = 900
person Community    schedule 13.08.2009
comment
К сожалению, вывод таков: если вы не хотите максимизировать окно консоли (с точки зрения ширины и/или высоты), вы не можете изменить настройки буфера с помощью mode. - person mklement0; 20.02.2017

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

У меня есть ярлык на рабочем столе с этим как «Цель:»

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

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

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

person Mike    schedule 05.11.2015

По поводу автозаполнения:

Автодополнение имен файлов и каталогов НЕ включено по умолчанию. Вы можете включить или отключить завершение имени файла для конкретного вызова 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 /? ), и похоже, что другие параметры, о которых вы спрашивали, устанавливаются исключительно через параметры реестра.

person HanClinto    schedule 03.06.2009

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

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

person Steve    schedule 13.06.2010
comment
DOSKEY /LISTSIZE влияет на количество запомненных предыдущих команд, а не на буфер отображения - person Thomas; 12.02.2016