Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 

Windows - 리눅스 환경처럼 공백으로 끝나는 프롬프트 만들기

개인적으로, 블로그 글을 올리면서 명령행에 대한 실행 예문을 올릴 때 프롬프트에 명령어가 붙어있는 모습보다는,

c:\temp>cls

리눅스처럼 한 칸 띄어 써 표현하는 것이 더 보기 좋은 것 같습니다. ^^

c:\temp> cls

그동안, 명령행 프롬프트를 복사할 때 매번 저 뒤에 공백을 주곤 했었는데요, 오늘은 문득 이게 귀찮다는 생각이 들었습니다. ^^ 그러고 보니, 예전에 MS-DOS 시절에는 프롬프트를 곧잘 바꿔서 사용하기도 했었는데요, 찾아보니까 여전히 PROMPT 환경변수로 설정할 수 있었습니다. ^^

그렇다면 기본값에서,

C:\temp>echo %PROMPT%
$P$G

끝에 공백을 포함하도록 'S' 문자를 하나 더 추가할 수 있습니다.

C:\temp>set PROMPT=$P$G$S
C:\temp> echo %PROMPT%
$P$G$S

자, 그럼 원하는 프롬프트를 결정했으니 이제 자동으로 설정되도록 해야 할 텐데요, 처음에는 이것을 명령행 프롬프트가 열릴 때마다 자동으로 실행해 주는 "Command Processor"의 "Autorun" 레지스트리 키를 사용하려고 했었지만,

// https://www.sysnet.pe.kr/2/0/12468#auto_run

경로: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
이름: Autorun
값: set PROMPT=$P$G$S
타입: REG_SZ

사실 저게 환경변수에 불과하기 때문에 그냥 "제어판"의 "시스템" / "고급 시스템 설정" / "환경변수"에서 "사용자 변수"에 "PROMPT"를 추가해도 되고, 아니면 그 작업을 대신해 주는 "setx" 명령을 사용해도 됩니다.

// 현재 사용자 환경변수에 PROMPT 추가 (HKEY_CURRENT_USER\Environment)

c:\temp> setx PROMPT $P$$$S

참고로, 지원 가능한 형식 문자열은 prompt 명령어로 확인할 수 있습니다.

c:\temp> prompt /?
Changes the cmd.exe command prompt.

PROMPT [text]

  text    Specifies a new command prompt.

Prompt can be made up of normal characters and the following special codes:

  $A   & (Ampersand)
  $B   | (pipe)
  $C   ( (Left parenthesis)
  $D   Current date
  $E   Escape code (ASCII code 27)
  $F   ) (Right parenthesis)
  $G   > (greater-than sign)  
  $H   Backspace (erases previous character)
  $L   < (less-than sign)
  $N   Current drive
  $P   Current drive and path
  $Q   = (equal sign)
  $S     (space)
  $T   Current time
  $V   Windows version number
  $_   Carriage return and linefeed
  $$   $ (dollar sign)

If Command Extensions are enabled the PROMPT command supports
the following additional formatting characters:

  $+   zero or more plus sign (+) characters depending upon the
       depth of the PUSHD directory stack, one character for each
       level pushed.

  $M   Displays the remote name associated with the current drive
       letter or the empty string if current drive is not a network
       drive.

또한 아래의 문서에 보면,

PROMPT
; https://ss64.com/nt/prompt.html

약간의 예제가 나오는군요. ^^

c:\temp> Set PROMPT=$p$_%username%@%computername%:.

c:\temp
testusr@TESTPC:.

c:\temp> set PROMPT=$T$H$H$H$G$S

19:17:36>




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 10/31/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...
NoWriterDateCnt.TitleFile(s)
12153정성태2/23/202024453.NET Framework: 898. Trampoline을 이용한 후킹의 한계파일 다운로드1
12152정성태2/23/202021443.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)파일 다운로드1
12151정성태2/22/202024078.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)파일 다운로드1
12150정성태2/21/202024195.NET Framework: 895. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 [1]파일 다운로드1
12149정성태2/20/202021087.NET Framework: 894. eBEST C# XingAPI 래퍼 - 연속 조회 처리 방법 [1]
12148정성태2/19/202025780디버깅 기술: 163. x64 환경에서 구현하는 다양한 Trampoline 기법 [1]
12147정성태2/19/202021067디버깅 기술: 162. x86/x64의 기계어 코드 최대 길이
12146정성태2/18/202022268.NET Framework: 893. eBEST C# XingAPI 래퍼 - 로그인 처리파일 다운로드1
12145정성태2/18/202023873.NET Framework: 892. eBEST C# XingAPI 래퍼 - Sqlite 지원 추가파일 다운로드1
12144정성태2/13/202024067.NET Framework: 891. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 두 번째 이야기파일 다운로드1
12143정성태2/13/202018490.NET Framework: 890. 상황별 GetFunctionPointer 반환값 정리 - x64파일 다운로드1
12142정성태2/12/202022445.NET Framework: 889. C# 코드로 접근하는 MethodDesc, MethodTable파일 다운로드1
12141정성태2/10/202021417.NET Framework: 888. C# - ASP.NET Core 웹 응용 프로그램의 출력 가로채기 [2]파일 다운로드1
12140정성태2/10/202022745.NET Framework: 887. C# - ASP.NET 웹 응용 프로그램의 출력 가로채기파일 다운로드1
12139정성태2/9/202022436.NET Framework: 886. C# - Console 응용 프로그램에서 UI 스레드 구현 방법
12138정성태2/9/202028644.NET Framework: 885. C# - 닷넷 응용 프로그램에서 SQLite 사용 [6]파일 다운로드1
12137정성태2/9/202020309오류 유형: 592. [AhnLab] 경고 - 디버거 실행을 탐지했습니다.
12136정성태2/6/202021973Windows: 168. Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우
12135정성태2/6/202027748개발 환경 구성: 468. Nuget 패키지의 로컬 보관 폴더를 옮기는 방법 [2]
12134정성태2/5/202024993.NET Framework: 884. eBEST XingAPI의 C# 래퍼 버전 - XingAPINet Nuget 패키지 [5]파일 다운로드1
12133정성태2/5/202022781디버깅 기술: 161. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 - 두 번째 이야기
12132정성태1/28/202025881.NET Framework: 883. C#으로 구현하는 Win32 API 후킹(예: Sleep 호출 가로채기) [1]파일 다운로드1
12131정성태1/27/202024516개발 환경 구성: 467. LocaleEmulator를 이용해 유니코드를 지원하지 않는(한글이 깨지는) 프로그램을 실행하는 방법 [1]
12130정성태1/26/202022081VS.NET IDE: 142. Visual Studio에서 windbg의 "Open Executable..."처럼 EXE를 직접 열어 디버깅을 시작하는 방법
12129정성태1/26/202029082.NET Framework: 882. C# - 키움 Open API+ 사용 시 Registry 등록 없이 KHOpenAPI.ocx 사용하는 방법 [3]
12128정성태1/26/202023211오류 유형: 591. The code execution cannot proceed because mfc100.dll was not found. Reinstalling the program may fix this problem.
... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...