Де збережені параметри за замовчуванням для стандартних командних рядків?


20

Де збережені параметри за замовчуванням для стандартних командних рядків? Чи вони зберігаються десь у реєстрі чи у файлі?

Я хотів би створити .regфайл, щоб встановити мої налаштування за замовчуванням під час першого входу в машину.

Я говорю про налаштування програми за замовчуванням: режим QuickEdit, розмір буфера, колір тексту тощо.

Відповіді:


21

У розділі HKEY_CURRENT_USER\Consoleє деякі параметри за замовчуванням для всіх консолей та підрозділів з індивідуальними налаштуваннями для консольних програм. Ви можете захотіти поглянути на ці настройки, особливо на QuickEdit, ScreenBufferSize, ScreenColorsі т.д.


1
Саме те, що я шукав.
Келтарі

2
Оскільки це стосується іншого питання, якщо ви працюєте в Windows 10, налаштування вже не зберігаються в реєстрі, а лише у файлах .lnk. (Дивіться відповідь для деталей.)
Роб

@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 точно так, як написано:

    %LOCALAPPDATA%\Microsoft\Windows\WinX\Group3\
    
  2. Клацніть правою кнопкою миші обидва ярлики "Командний рядок" та виберіть "Властивості"

  3. Редагування цих вкладок змінить параметри за замовчуванням для командного рядка:

    • шрифт
    • Макет
    • Кольори
    • варіанти

Пам'ятайте, що налаштування потрібно змінити для обох ярликів. Я не впевнений, чому їх два.:/


Ця відповідь не працює на попередніх версіях Windows, питання було задано у 2013 році, тому відповідь, яка працює лише для Windows 10, не є корисною автору. Як я можу сказати, що це стосується лише Windows 10? Розташування цих налаштувань зрозуміло для командного рядка вдосконалення, який існує в Windows 10, завдяки WinXшляху.
Рамхаунд

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

1
Голосування є надзвичайно великою причиною, я не вважаю, що на мене слід атакувати особисто, щоб проголосувати
Ramhound

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