Где сохраняются настройки по умолчанию для командной строки по умолчанию?


20

Где сохранены настройки по умолчанию для параметров командной строки по умолчанию? Они хранятся где-то в реестре или в файле?

Я хотел бы создать .regфайл для установки настроек по умолчанию при первом входе в систему.

Я говорю о настройках приложения по умолчанию: режим QuickEdit, размер буфера, цвет текста и т. Д.

Ответы:


21

Ниже HKEY_CURRENT_USER\Consoleприведены некоторые настройки по умолчанию для всех консолей и подразделов с индивидуальными настройками для консольных программ. Вы можете захотеть взглянуть на эти настройки, особенно на QuickEdit, ScreenBufferSize, ScreenColorsи т.д.


1
Именно то, что я искал.
Келтари

2
Как это другой вопрос упоминает, если вы на Windows 10, настройки больше не сохраняются в реестре, но только в .lnk файлах. (Подробности см. В ответе.)
RobH

@RobH на значения по умолчанию все еще находятся в реестре, но свойства в файле LNK в ОС Windows 10.
WesternGun

6

Обновленный ответ в ответ на отредактированный вопрос

Я предлагаю вам создать ярлык для CMD.EXE на рабочем столе и отредактировать свойства, чтобы получить нужные настройки. Затем скопируйте ярлык на портативное устройство, например флэш-накопитель USB, или в другую сетевую папку. Вы должны иметь возможность запустить ярлык с любого компьютера и получить желаемые настройки.

Оригинальный ответ, имеющий дело с совершенно другими настройками

Мне известны четыре параметра, которые могут контролироваться реестром:

  • Автозапуск
  • расширения
  • Задержка расширения
  • Завершение имени файла

Настройки реестра описаны во встроенной справке, доступ к которой осуществляется из командной строки, набрав HELP CMDилиCMD /?

Вот выдержка из соответствующей справки:

If /D was NOT specified on the command line, then when CMD.EXE starts, it
looks for the following REG_SZ/REG_EXPAND_SZ registry variables, and if
either or both are present, they are executed first.

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

        and/or

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Command Extensions are enabled by default.  You may also disable
extensions for a particular invocation by using the /E:OFF switch.  You
can enable or disable extensions for all invocations of CMD.EXE on a
machine and/or user logon session by setting either or both of the
following REG_DWORD values in the registry using REGEDIT.EXE:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensio

        and/or

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtension

to either 0x1 or 0x0.  The user specific setting takes precedence over
the machine setting.  The command line switches take precedence over the
registry settings.

In a batch file, the SETLOCAL ENABLEEXTENSIONS or DISABLEEXTENSIONS argume
takes precedence over the /E:ON or /E:OFF switch. See SETLOCAL /? for deta

The command extensions involve changes and/or additions to the following
commands:

    DEL or ERASE
    COLOR
    CD or CHDIR
    MD or MKDIR
    PROMPT
    PUSHD
    POPD
    SET
    SETLOCAL
    ENDLOCAL
    IF
    FOR
    CALL
    SHIFT
    GOTO
    START (also includes changes to external command invocation)
    ASSOC
    FTYPE

To get specific details, type commandname /? to view the specifics.

Delayed environment variable expansion is NOT enabled by default.  You
can enable or disable delayed environment variable expansion for a
particular invocation of CMD.EXE with the /V:ON or /V:OFF switch.  You
can enable or disable delayed expansion for all invocations of CMD.EXE on
machine and/or user logon session by setting either or both of the
following REG_DWORD values in the registry using REGEDIT.EXE:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansi

        and/or

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansio

to either 0x1 or 0x0.  The user specific setting takes precedence over
the machine setting.  The command line switches take precedence over the
registry settings.

In a batch file the SETLOCAL ENABLEDELAYEDEXPANSION or DISABLEDELAYEDEXPAN
arguments takes precedence over the /V:ON or /V:OFF switch. See SETLOCAL /
for details.

If delayed environment variable expansion is enabled, then the exclamation
character can be used to substitute the value of an environment variable
at execution time.

You can enable or disable file name completion for a particular
invocation of CMD.EXE with the /F:ON or /F:OFF switch.  You can enable
or disable completion for all invocations of CMD.EXE on a machine and/or
user logon session by setting either or both of the following REG_DWORD
values in the registry using REGEDIT.EXE:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletion

        and/or

    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionC

with the hex value of a control character to use for a particular
function (e.g.  0x4 is Ctrl-D and 0x6 is Ctrl-F).  The user specific
settings take precedence over the machine settings.  The command line
switches take precedence over the registry settings.

If completion is enabled with the /F:ON switch, the two control
characters used are Ctrl-D for directory name completion and Ctrl-F for
file name completion.  To disable a particular completion character in
the registry, use the value for space (0x20) as it is not a valid
control character.

Completion is invoked when you type either of the two control
characters.  The completion function takes the path string to the left
of the cursor appends a wild card character to it if none is already
present and builds up a list of paths that match.  It then displays the
first matching path.  If no paths match, it just beeps and leaves the
display alone.  Thereafter, repeated pressing of the same control
character will cycle through the list of matching paths.  Pressing the
Shift key with the control character will move through the list
backwards.  If you edit the line in any way and press the control
character again, the saved list of matching paths is discarded and a new
one generated.  The same occurs if you switch between file and directory
name completion.  The only difference between the two control characters
is the file completion character matches both file and directory names,
while the directory completion character only matches directory names.
If file completion is used on any of the built in directory commands
(CD, MD or RD) then directory completion is assumed.

The completion code deals correctly with file names that contain spaces
or other special characters by placing quotes around the matching path.
Also, if you back up, then invoke completion from within a line, the
text to the right of the cursor at the point completion was invoked is
discarded.

The special characters that require quotes are:
     <space>
     &()[]{}^=;!'+,`~

3

Вот что я сделал для Windows 10:

  1. Вставьте это в Windows Explorer точно так, как написано:

    %LOCALAPPDATA%\Microsoft\Windows\WinX\Group3\
    
  2. Щелкните правой кнопкой мыши оба ярлыка «Командная строка» и выберите «Свойства»

  3. Редактирование этих вкладок изменит настройки по умолчанию для командной строки:

    • шрифт
    • раскладка
    • Цвета
    • параметры

Помните, что настройки должны быть изменены для обоих ярлыков. Я не уверен, почему их два.:/


Этот ответ не работает в более ранних версиях Windows, вопрос был задан в 2013 году, поэтому ответ, который работает только для Windows 10, не так полезен для автора. Как я могу сказать, что это относится только к Windows 10? Расположение этих параметров явно для командной строки улучшения, которая существует в Windows 10 из-за WinXв пути.
Ramhound

2
Тот факт, что вопрос был задан в 2013 году, не означает, что с тех пор этот клиент не обновил свою ОС до Windows 10. Кроме того, это действительно простой ответ на вопрос, который поможет другим людям, у которых есть Windows 10, найти настройки командной строки по умолчанию. Я не думаю, что мой ответ заслуживает -1, который вы дали.
Даниэль Тонон

1
Голосование является неприятным по какой-то причине, я не думаю, что я должен подвергаться нападению лично, для того, чтобы выдать голос
Ramhound

Последнее, что нужно миру, - это другой человек, пытающийся избежать ответственности за свои действия.
kreemoweet
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.