Windows 7에서 명령 프롬프트를 영구적으로 사용자 정의하려면 어떻게해야합니까?


74

프롬프트를 $p$g$_$f영구적으로 변경하고 싶지만 명령 창을 다시 열 때마다 자체적으로 재설정됩니다.

영원 토록 영원히 같은 상태를 유지하려면 어떻게해야합니까?


9
요즘 DOS 프롬프트를 사용자 정의 할 수 있다는 것을 아는 사람들이 많지 않기 때문에 이것은 흥미로운 질문입니다 (+1).
Randolf Richardson

14
이것들은 지금 명령 프롬프트라고하지 않습니까?
LarsTech

3
@LarsTech : 그렇습니다. DOS는 오래 전에 사라졌습니다.
grawity

7
오래된 습관! 그것은 항상 나에게 DOS 프롬프트가 될 것입니다.
oscilatingcretin

2
@ Randolf : 나는 확실히 몰랐다! 이 질문에 대한 가치가 +1입니다.
jprete

답변:


65

PROMPT라는 새 환경 변수를 작성하십시오. 변수 값을 원하는 프롬프트로 설정하십시오.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


2
+1 첫 번째 문장에서 중요한 것을 언급 할 수있는 유일한 해답입니다. 명령 인터프리터가 발행 한 프롬프트가 환경 변수에 의해 제어된다는 것을 알게되면 나머지 는 환경 변수에 대한 일반 수퍼 유저 답변 을 적용하는 간단한 연습으로 진행됩니다 .
JdeBP

: 내 대답도 읽고 4 단계에서이 문제를 언급 - 사실, 이것은 PROMPT 변수의 생성을 언급하는 유일한 대답은하지 않습니다 (...) 4. "PROMPT"라는 변수를 만들고 원하는 프롬프트 텍스트를 삽입
랜돌프 리차드슨

2
기술적으로 내 대답은 프롬프트 변수에 대해 언급하는 명령을 제공하기 때문에 언급합니다. :)
EBGreen

4
EBGreen과 Randolf Richardson, " 첫 문장에서 "두 사람을 탈출하는 것은 어떻습니까?
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
나도 이것을 시도했고 완벽하게 작동했습니다. 그래도 상대방이 더 똑 바르고 요점에도 불구하고 다른 사람의 대답으로 표시해야했습니다. 그의 첫 번째 였으므로 나는 옳은 일을해야했다. 그래도 난 당신을 upvoted.
oscilatingcretin

30
누가 답변으로 표시되는지는 신경 쓰지 않습니다. 답변을 표시하기위한 핵심 결정은 누가 먼저 대답했는지가 아니라 어떤 대답이 가장 좋은 지에 대해서는 나중에 참조 할 것입니다 (이것은 그대로 두십시오). 답변을 표시하는 것이 rep을 제공한다는 점에서 사실이지만, 답변을 표시해야하는 실제 이유 는 나중에이 질문을 찾는 사람들이 더 빨리 최상의 솔루션을 찾도록 돕는 것입니다. 이 특별한 경우 다른 솔루션에는 아무런 문제가 없으므로 중요하지 않습니다.
EBGreen

1
나는 똑같은 일을 할 수있는 두 가지 이상의 방법이 있다는 것을 보여주기 때문에이 대답 (+1)을 특히 좋아합니다 ( Perl [programming]으로 강조된 것 ).
랜돌프 리차드슨

3
나는 그것이 첫 번째 대답에 관한 것이 아니라는 데 동의합니다. 두 사람 모두 프롬프트를 영구적으로 변경하는 방법에 대한 내 기본 질문에 대답했습니다. 두 사람이 같은 일을 할 때의 단점은 첫 번째 대답을 사용하는 것입니다. 귀하의 핵심 문제를 해결하기에는 부족하고 요점이었으며, 환경 변수에 대한 더 많은 옵션을 노출하는 더 복잡한 UI 점핑 접근법이었습니다. 답변을 선택하기 전에 옵션을 신중하게 검토했습니다.
oscilatingcretin

2
답을 넓히는 것이 좋습니다. 현재 상황이 부족합니다. 답변을 개선 할 수있는 방법을 알아 보려면 간단한 답변 방법 안내서를 참조하십시오. 그렇다면 setx정확히 무엇을하고 왜 계속 재설정합니까?
Tamara Wijsman

21

DOS 프롬프트 (또는 "명령 프롬프트")의 모양을 변경하려면 "컴퓨터"(일반적으로 Windows 바탕 화면 또는 Windows 시작 메뉴)를 마우스 오른쪽 단추로 클릭 한 후 다음 단계를 수행하십시오.

  1. "고급 시스템 설정"레이블을 클릭하십시오
  2. "환경 변수 ..."버튼을 클릭하십시오
  3. "신규 ..."버튼을 클릭하십시오 ( "사용자 변수"는 사용자에게만 영향을 미치고 "시스템 변수"는 모든 사용자에게 영향을 미침)
  4. "PROMPT"라는 변수를 만들고 원하는 프롬프트 텍스트를 삽입하십시오 (아래의 마지막 그림에 포함되어 있음).
  5. "확인"버튼을 클릭하여 "환경 변수"창을 닫으십시오
  6. "시스템 속성"창을 닫으려면 "확인"버튼을 클릭하십시오.

이 변경 사항은 재부팅 후에도 유지됩니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


2
각 이미지에서 클릭 위치를 강조한 방식이 마음에 듭니다. 이것을 어떻게 달성 했습니까?
Konerak

4
@Konerak : 감사합니다! 각 창을 열고 Alt-PrintScreen (현재 활성 창에서 클립 보드로 복사)을 누른 다음 Adobe Photoshop에 붙여 넣었습니다. 그 후 이미지 위에 (또는 앞에) 레이어를 만들고 100 % 검은 색으로 채우고 레이어의 불투명도를 25 %로 변경했습니다 (이미지가 75 % 레벨로 페이드 인되도록합니다) 사각형 선택 도구 를 "3px feather"과 함께 사용하여 강조 표시 할 영역을 선택하고 Delete 키를 누릅니다 (이 검은 색 레이어에서 삭제). 그 후 이미지를 C : / Temp / 디렉토리에 .PNG 파일로 저장하고 여기에 업로드했습니다.
Randolf Richardson

1
나는 완전한 포토샵 멍청한 놈이지만, 당신이 말하는 것을 봅니다! 다음에 시도 할 것입니다. 화면에 MS Paint 빨간색 선보다 훨씬 더 좋은 응용 프로그램을 사용자에게 제시합니다. 감사!
Konerak

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에는 다른 이전 Linux 전용 기능간에 파이프 라이닝을 허용하는 Windows PowerShell이 ​​제공됩니다.

시작 버튼을 클릭하고 PowerShell을 입력하여 시작할 수 있습니다. 그러면 세 가지 옵션이 제공됩니다. PowerShell을 클릭하십시오. 창 제목 표시 줄을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오. 시작 창에서보기 및 동작 설정을 구성합니다.

그렇지 않으면 처음부터 PowerShell을 여는 대신 PowerShell 모듈을 선택하고 클릭하십시오.

수행 할 수있는 작업에 대해서는 Microsoft 설명서를 참조하십시오.

추신 : 콘솔 응용 프로그램을 개발하는 경우 클래식 쉘을 권장하지 않습니다.


또 다른 좋은 답변에 +1. 나는 특히 "Classical Shell"이라는 용어를 좋아한다.
랜돌프 리처드슨

1
파이프는 CMD.EXE에도 존재하며 유닉스에서 고전적으로 작동하는 것과 거의 동일합니다. 이들은 NT의 최초 공개 베타 릴리스에서 CMD 구문의 일부였으며 DOS에서 COMMAND.COM의 명령 구문의 일부였습니다.
RBerteig

1
커맨드 쉘 파이프, * nix 쉘 파이프 및 파워 쉘 파이프의 큰 차이점은 파워 쉘 파이프가 문자열이 아닌 객체를 통과한다는 것입니다. 이것은 게임 체인저 imo입니다.
EBGreen

PowerShell은이 질문과 어떤 관련이 있습니까?
Synetech

1
@ 신테크 -아무것도 없습니다. 그러나 간접적으로 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"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.