Як я можу назавжди налаштувати командний рядок у Windows 7?


74

Я хотів би змінити підказку на $p$g$_$fназавжди, але він скидає себе щоразу, коли я знову відкриваю вікно команд.

Як я можу змусити його назавжди залишитися таким самим?


9
Це цікаве запитання (+1), оскільки в наші дні не дуже багато людей, які навіть знають, що їх підказку DOS можна налаштувати.
Рендольф Річардсон

14
Чи не називаються ці командні підказки зараз?
LarsTech

3
@ La-rsTech: Так, DOS давно минув.
grawity

7
Старі звички! Це завжди буде підказкою DOS для мене.
oscilatingcretin

2
@Randolf: Я точно не знав! Цілком заслужений +1 до цього питання.
jprete

Відповіді:


65

Створіть нову змінну середовища під назвою PROMPT. Встановіть значення змінної на потрібний запит.

введіть тут опис зображення

введіть тут опис зображення


2
+1 За те, що єдина відповідь, щоб згадати важливе в першому реченні. Як тільки хтось знає, що підказка, яку видають інтерпретатори команд, контролюється змінною середовища, решта перетворюється на просту вправу в застосуванні загальної відповіді SuperUser про змінні середовища .
JdeBP

Власне, це не єдина відповідь, щоб згадати про створення змінної PROMPT - моя відповідь також згадує це на кроці 4, який гласить: 4. Створіть змінну під назвою "PROMPT" та вставте потрібний текст підказки (...)
Рендольф Річардсон

2
Технічно моя відповідь також згадує змінну Prompt, оскільки вона дає команду її встановити. :)
EBGreen

4
EBGreen та Рендольф Річардсон, а як " у першому реченні " втекти з вас обох?
JdeBP

71

У командному рядку введіть:

setx Prompt $p$g$_$f

Потім знову відкрийте командний рядок.

Для тих, хто не знає, як отримати допомогу для команд DOS / CMD, введіть:

setx /?

Отримати:

SetX has three ways of working:

Syntax 1:
    SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]

Syntax 2:
    SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]

Syntax 3:
    SETX [/S system [/U [domain\]user [/P [password]]]]
         /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]

Description:
    Creates or modifies environment variables in the user or system
    environment. Can set variables based on arguments, regkeys or
    file input.

Parameter List:
    /S     system          Specifies the remote system to connect to.

    /U     [domain\]user   Specifies the user context under which
                           the command should execute.

    /P     [password]      Specifies the password for the given
                           user context. Prompts for input if omitted.

    var                    Specifies the environment variable to set.

    value                  Specifies a value to be assigned to the
                           environment variable.

    /K     regpath         Specifies that the variable is set based
                           on information from a registry key.
                           Path should be specified in the format of
                           hive\key\...\value. For example,
                           HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                           Control\TimeZoneInformation\StandardName.

    /F     file            Specifies the filename of the text file
                           to use.

    /A     x,y             Specifies absolute file coordinates
                           (line X, item Y) as parameters to search
                           within the file.

    /R     x,y string      Specifies relative file coordinates with
                           respect to "string" as the search parameters.

    /M                     Specifies that the variable should be set in
                           the system wide (HKEY_LOCAL_MACHINE)
                           environment. The default is to set the
                           variable under the HKEY_CURRENT_USER
                           environment.

    /X                     Displays file contents with x,y coordinates.

    /D     delimiters      Specifies additional delimiters such as ","
                           or "\". The built-in delimiters are space,
                           tab, carriage return, and linefeed. Any
                           ASCII character can be used as an additional
                           delimiter. The maximum number of delimiters,
                           including the built-in delimiters, is 15.

    /?                     Displays this help message.

NOTE: 1) SETX writes variables to the master environment in the registry.

      2) On a local system, variables created or modified by this tool
         will be available in future command windows but not in the
         current CMD.exe command window.

      3) On a remote system, variables created or modified by this tool
         will be available at the next logon session.

      4) The valid Registry Key data types are REG_DWORD, REG_EXPAND_SZ,
         REG_SZ, REG_MULTI_SZ.

      5) Supported hives:  HKEY_LOCAL_MACHINE (HKLM),
         HKEY_CURRENT_USER (HKCU).

      6) Delimiters are case sensitive.

      7) REG_DWORD values are extracted from the registry in decimal
         format.

Examples:
    SETX MACHINE COMPAQ
    SETX MACHINE "COMPAQ COMPUTER" /M
    SETX MYPATH "%PATH%"
    SETX MYPATH ~PATH~
    SETX /S system /U user /P password  MACHINE COMPAQ
    SETX /S system /U user /P password MYPATH ^%PATH^%
    SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\
         Control\TimeZoneInformation\StandardName
    SETX BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
         NT\CurrentVersion\CurrentBuildNumber" /M
    SETX /S system /U user /P password TZONE /K HKEY_LOCAL_MACHINE\
         System\CurrentControlSet\Control\TimeZoneInformation\
         StandardName
    SETX /S system /U user /P password  BUILD /K
         "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
         CurrentVersion\CurrentBuildNumber" /M
    SETX /F ipconfig.out /X
    SETX IPADDR /F ipconfig.out /A 5,11
    SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."
    SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
    SETX /S system /U user /P password  /F c:\ipconfig.out /X

1
Я також спробував це, і це спрацювало чудово. Мені довелося відзначити відповіді іншого хлопця як відповідь, хоча ваша була більш прямою і суттєвою. Він був першим, тому я повинен був зробити те, що правильно. Я, проте, відмовив від вас.
oscilatingcretin

30
Мені зовсім не байдуже, хто отримав відзнаку як відповідь. Хоча я зазначу для подальшого посилання (залиште так, як це для цього), що ключовим рішенням для маркування відповіді є не той, хто відповів першим, це яка відповідь найкраща. Хоча це правда, що маркування відповіді добре тим, що вона дає реп, справжньою причиною для позначення відповіді є допомога людям, які знайдуть це питання пізніше, щоб швидше знайти найкраще рішення. Оскільки з іншим рішенням у цьому конкретному випадку немає нічого поганого, це не має значення.
EBGreen

1
Особливо мені подобається ця відповідь (+1), оскільки вона показує, що існує більше ніж один спосіб зробити те саме ( те, що особливо підкреслюється в програмі Perl [програмування] ).
Рендольф Річардсон

3
Я згоден, що мова йде не про першу відповідь. Ви обоє відповіли на моє основне запитання, як назавжди змінити підказку. Коли двоє людей досягають одного і того ж, відступ - це використовувати першу відповідь. Ваш був короткий і до речі, вирішуючи проблему з голими кістками, в той час як його був більш складний підхід із стрибком у користувальницькому інтерфейсі, який викривав більше варіантів щодо змінних умов середовища. Я ретельно зважив варіанти, перш ніж вибрати відповідь.
oscilatingcretin

2
Було б чудово розширити свою відповідь. Наразі йому не вистачає контексту. Перегляньте наш короткий посібник із відповідей, щоб побачити, як можна покращити свою відповідь. Отже, що setxсаме робить і чому все-таки змінився?
Тамара Війсман

21

Щоб змінити зовнішній вигляд запиту DOS (або "Командний рядок"), клацніть правою кнопкою миші кнопку "Комп'ютер" (як правило, на робочому столі Windows або в меню "Пуск Windows"), після чого виконайте наступні дії:

  1. Клацніть ярлик "Розширені налаштування системи"
  2. Натисніть кнопку "Змінні середовища ..."
  3. Натисніть кнопку "Створити ..." ("Змінна користувача" впливає лише на вас, а "Змінні системи" впливають на всіх користувачів)
  4. Створіть змінну під назвою "ПРОМПТ" та вставте потрібний текст підказки (як я включив для вас у фінальне зображення нижче)
  5. Натисніть кнопку "ОК", щоб закрити вікно "Змінні середовища"
  6. Натисніть кнопку "ОК", щоб закрити вікно "Властивості системи"

Ця зміна також переживе перезавантаження.

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення


2
Мені подобається, як ти виділив, де натискати на кожному зображенні. Як ви цього домоглися?
Конерак

4
@Konerak: Дякую! Я відкрив кожне вікно, натиснув Alt-PrintScreen (щоб скопіювати поточне активне вікно на Clipboard), а потім вставив його в Adobe Photoshop. Після цього я створив шар зверху (або перед ним) зображення, заповнив його на 100% чорним кольором, змінив непрозорість шару до 25% (що дозволяє зображенню зникати на рівні 75%), потім я використовував інструмент « Прямокутний намет» з "пір'ям 3px", щоб вибрати область для виділення, і натиснув клавішу Delete (для видалення з цього чорного шару). Після цього я зберегла зображення у форматі .PNG у своєму каталозі C: ​​/ Temp / та завантажила його сюди.
Рандольф Річардсон,

1
Я повний фотошоп noob, але я бачу, про що ти говориш! Я так спробую це наступного разу, коли представляю нашим користувачам свою заявку - набагато приємніше, ніж червоні лінії MS Paint на всьому екрані. Дякую!
Конерак

Snagit коштує менше, ніж Photoshop, а також дає багато варіантів для роботи з екранами екрана. Це моє улюблене для того, щоб робити шапки на екрані.
EBGreen

Запропоновано пояснити, як потрапити до змінних довкілля в Windows 7 та пояснити, як виділити зображення. Тут корисні речі для вихованок!
CigarDoug

5

Відредагуйте команду меню або посилання, яке запускає командний рядок, змініть його ціль, наприклад.

%SystemRoot%\system32\cmd.exe /K "prompt $p$g$_$f"

І якщо ви хочете отримати додатковий простір перед курсором:

%SystemRoot%\system32\cmd.exe /K "prompt $p$g$_$f "

+1 за цікаве та унікальне рішення.
ArtOfWarfare

4

У Windows поставляється Windows PowerShell, який дозволяє проводити конвеєрний режим серед інших колишніх функцій лише для Linux.

Ви можете запустити його, натиснувши кнопку «Пуск» та ввівши PowerShell, що дає три варіанти. Клацніть PowerShell. Клацніть правою кнопкою миші на заголовку вікна та виберіть Властивості. У вікні, що відкривається, ви налаштовуєте параметри подання та поведінки.

Інакше замість відкриття PowerShell в першу чергу виберіть і натисніть модулі PowerShell.

Дивіться документацію Microsoft про те, що можна зробити:

PS: Я б не рекомендував класичну оболонку, якщо ви розробляєте консольні програми.


+1 для ще однієї доброї відповіді. Особливо мені подобається термін "Класична оболонка".
Рендольф Річардсон,

1
Труби існують і в CMD.EXE, і працюють майже так само, як і класично в Unix. Вони були частиною синтаксису CMD з найдавніших загальнодоступних бета-версій NT, а також були частиною синтаксису команд COMMAND.COM в DOS.
RBerteig

1
Величезна відмінність між командними оболонками, * nix оболонками і патронними трубками полягає в тому, що труби оболонки передають об'єкти, а не рядки. Це ігровий чейнджер imo.
EBGreen

Що стосується PowerShell до питання?
Synetech

1
@Syntech вкл. - Нічого безпосередньо. Однак опосередковано це альтернатива використанню cmd.exe, яка б відповідала наміру питання, надаючи налаштовану підказку, яку можна встановити через налаштування профілю.
EBGreen

1

Остаточний метод:

setx prompt ""

Для всіх користувачів:

setx prompt "" /M

Приклад оперативного налаштування зі стилем:

setx PROMPT "$_$e[0;1;44mN$e[1;30;47mI$e[0;1;44mC$E[35;40m $d$s$t$h$h$h$h$h$h$_$E[1;33;40m$p$_$E[0;0m~$g$s"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.