Windows XP에서 CMD 제목을 현재 작업 디렉토리로 설정하는 방법


18

Windows XP에서 CMD (명령 프롬프트)의 제목을 어떻게 현재 작업 디렉토리로 동적으로 설정합니까? 사용할 수 있습니다

title %CD%

그러나 이것은 임시 수정 사항이며 CD 명령을 사용하여 디렉토리를 변경할 때 제목이 고정되어 있습니다.


pushd매크로 중 하나와 함께 사용하면 어떻게됩니까 ?
Hello71

답변:


20

중력의 도스 키 매크로 덕분에 작동합니다. 그는 &&를 사용하여 완벽하게 작동하는 cd 및 title 명령을 결합했습니다. 레지스트리를 조정하여 cmd를 사용할 때 마다이 매크로로드를 만들었습니다.

1) cmd_title.bat 라는 박쥐 파일을 만들었 으며 그 내용은 다음과 같습니다.

@echo off
title %cd%

2)이 파일을 C : 드라이브 (C : \ cmd_title.bat)에 넣었습니다.

3) C : 드라이브에 다음 내용으로 cmd.bat 라는 다른 배치 파일을 만듭니다 .

doskey cd = cd /d $* ^&^& "C:\cmd_title.bat"
title %cd%

/ d 플래그는 cd를 사용하여 다른 드라이브로 전환하기위한 것입니다.

4) 그런 다음 regedit를 열고 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor로 이동하십시오 . 여기에 AutoRun 이라는 키가 있습니다. 이 키의 값을 수정하고 cmd.bat 파일 의 위치를 따옴표로 묶습니다 (예 : "C : \ cmd.bat").

이제 cd는 cmd를 열 때마다 원하는대로 작동합니다.

기본적으로 &&는 Windows에서 명령 체인에 사용됩니다.


멋지다, 나는 당신의 해결책을 작동시켰다. 그러나 "히트 탭 키, 자동 일치"기능이 손실되었습니다.
rok2791SWTS

레지스트리의 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor 키에서 CompletionChar / PathCompletionChar 값을 방해했을 수 있습니다. 자동 완성을 위해 탭 키를 사용하도록 설정하려면 CompletionChar 및 PathCompletionChar 값을 0x9 (16 진수)로 설정해야합니다.
Stormshadow

+1 작동하는 솔루션이지만 약간만 수정하면 자동 실행은 키가 아니라 문자열 유형의 입니다.
mloskot

1
좋은 해결책! 대신 다음과 같이 매크로를 입력하면 cmd_title.bat 없이도 할 수 있습니다.doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on
Superole

1
I의 발견은 @echo off그냥 추가하는 경우 필요하지 않습니다 @당신이 에코하지 않으려는 명령 앞에. 또한이 명령이 전체 경로 대신 현재 디렉토리 이름으로 제목을 설정하는 데 더 유용하다는 것을 알았습니다.@for %%* in (.) do @title %%~nx*
Bron Davies

5

푸시 및 팝은 cd보다 훨씬 유용하며 더 빨리 입력하면 더 많이 사용할 것이라고 생각합니다. 다음 스크립트를 사용하여 cd vs. pushd / popd 및 콘솔 창 디렉토리 제목 문제를 해결했습니다.이 스크립트는 내 경로에있는 d.bat라고합니다.

@ echo off
rem d.bat replaces CD, PUSHD, and POPD with one command that also changes the title
rem of the console window to tell the current directory. Invoked with no arg, the
rem title is updated. Use this after changing the directory by some other means.
rem The argument / invokes popd. Any other argument invokes pushd with that arg.

if not _%1 == _ ( 
    if _%1 == _/ (
        popd
    ) else (
        pushd %*
    )
)
title %CD%

2

명령을 사용하여 명령 프롬프트 제목을 변경할 수 있습니다 title.

다음을 포함하는 배치 파일 (mycd.bat)을 만들 수 있습니다.

title "%1"
cd  "%1"

"cd"대신 사용하십시오 :

mycd "newdir"

.bat 파일을 항상 사용 가능하게하려면 system32에 넣을 수도 있습니다.


4
매크로를 사용하는 것이 더 나은 옵션입니다.doskey cd=cd $* ^&^& title $*
grawity

@grawity : 좋은 생각입니다.
harrymc

1

적어도 Windows 셸에서는 할 수 없습니다.


수도 에 "세트 텀 제목"이스케이프 시퀀스를 추가 할 수 %PROMPT%윈도우 콘솔 이스케이프 시퀀스를 지원하지 않는,하지만 당신은 (SFU에서 아마 PuTTYcyg 또는 무언가) 다른 터미널 에뮬레이터가 필요합니다.

또는 Windows 콘솔 기능을 사용하여 제목을 설정할 수있는 다른 쉘을 찾으십시오.


이들은 종종 Windows 컨텍스트에서 혼동되기 때문에 ...

은 입력을 읽고 해석합니다. cmd.exe, command.com,/bin/sh

terminal , terminal emulator , console은 화면에 텍스트 기반 프로그램 (쉘 포함)을 표시합니다. Windows Console, xterm,PuTTYcyg


실제로 cmd.exe는 터미널입니다. 탐색기는 껍질입니다.
루크

1
@Idigas : explorer는 GUI 쉘이며 cmd.exe텍스트 기반의 쉘 입니다. (생각 해보자. 유닉스에서와 cmd.exe정확히 일치 /bin/sh하며 /bin/sh항상 "쉘"이라고한다. 마찬가지로, Windows 콘솔은 X11의 "터미널 에뮬레이터"와 동일하다.)
grawity

나는 정정되었다.
루크

1

\ tools가 경로에 있다고 가정하고 배치 파일을 보관하는 위치 :

copy con: \tools\titlecmd.txt

title ^Z

copy con: \tools\cdtitle.bat

cd>\tools\cd.txt

copy \tools\titlecmd.txt+\tools\cd.txt cdtitletmp.bat

call cdtitletmp

^Z

이제 cdtitle.bat다른 배치 파일에서 호출 할 수 있습니다.


1

cd.bat 파일을 작성하고 다음을 저장하십시오.

cd %*  
title %CD%  

그런 다음이 명령을 발행하십시오.

doskey cd=...\cd.bat $*  

"..."를 cd.bat의 경로로 바꾸십시오. 사용 해보고 작동하는지 확인하십시오.

영구적으로 만들려면 dosrc.cmd를 작성하고 해당 doskey 명령을 넣은 다음 cmd 단축키를 작성하고 마우스 오른쪽 단추를 클릭하여 특성을 선택하십시오.

대상을 다음과 같이 수정하십시오.

%windir%\system32\cmd.exe /K ...\dosrc.cmd  

다시 "..."을 dosrc.cmd의 경로로 바꾸십시오.

그런 다음 바로 가기를 두 번 클릭하면 CD 기능이 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.