Cách đặt Tiêu đề của CMD thành Thư mục hoạt động hiện tại trong Windows XP


18

Làm thế nào để thiết lập tiêu đề của Dấu nhắc lệnh (CMD) trong Windows XP thành thư mục làm việc hiện tại một cách linh hoạt? tôi có thể sử dụng

title %CD%

tuy nhiên, đây là một sửa chữa tạm thời và tiêu đề vẫn cố định khi tôi thay đổi thư mục bằng lệnh CD.


Chà, điều gì xảy ra khi bạn sử dụng pushdvới một trong các macro?
Hello71

Câu trả lời:


20

Làm cho nó hoạt động nhờ macro doskey của gravvity. Anh ta đã sử dụng && để kết hợp các lệnh cd và title hoạt động hoàn hảo. Tôi thậm chí đã thực hiện tải macro này mỗi khi tôi sử dụng cmd bằng cách điều chỉnh registry.

1) Tôi đã tạo một tập tin bat có tên cmd_title.bat và nội dung của nó là

@echo off
title %cd%

2) Tôi đã đặt tệp này vào ổ C: (C: \ cmd_title.bat)

3) Tạo một tệp bó khác có tên cmd.bat trong ổ C: với nội dung sau

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

(cờ / d là để sử dụng cd để chuyển sang ổ đĩa khác).

4) Sau đó, chúng tôi mở regedit và truy cập HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor . Ở đây có một khóa gọi là AutoRun . Chúng tôi sửa đổi giá trị của khóa này và đặt nó vào vị trí của tệp cmd.bat trong dấu ngoặc kép (ví dụ: "C: \ cmd.bat").

Bây giờ cd hoạt động như chúng ta muốn mỗi khi chúng ta mở cmd.

Về cơ bản && được sử dụng cho chuỗi lệnh trong Windows


Thật tuyệt, tôi có giải pháp của bạn để làm việc. Nhưng tôi đã mất chức năng "nhấn phím tab, tự động khớp".
rok2791SWTS

Bạn có thể đã làm xáo trộn các giá trị CompleteionChar / PathCompletionChar trong khóa HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor trong sổ đăng ký. Để đặt sử dụng phím tab để tự động hoàn thành, bạn cần đặt các giá trị CompleteionChar và PathCompletionChar thành 0x9 (hex)
Stormshadow

+1 nó là một giải pháp hoạt động, nhưng với sự điều chỉnh nhỏ: AutoRun không phải là khóa, mà là giá trị của loại chuỗi.
mloskot

1
Giải pháp tốt đẹp! Bạn cũng có thể làm điều đó mà không cần cmd_title.bat nếu bạn nhập macro như thế này:doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on
Superole

1
Tôi thấy @echo offkhông cần thiết nếu bạn chỉ cần thêm @vào trước các lệnh bạn không muốn lặp lại. Tôi cũng thấy lệnh này hữu ích hơn khi đặt tiêu đề thành chỉ tên thư mục hiện tại thay vì đường dẫn đầy đủ@for %%* in (.) do @title %%~nx*
Bron Davies

5

Tôi nghĩ rằng Pushd và popd hữu ích hơn nhiều so với cd và sẽ được sử dụng nhiều hơn nếu họ gõ nhanh hơn. Tôi đã giải quyết các vấn đề của cd so với Pushd / popd và tiêu đề thư mục cửa sổ giao diện điều khiển với tập lệnh sau, mà tôi gọi là d.bat, nằm trong đường dẫn của tôi.

@ 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

Bạn có thể thay đổi tiêu đề của Dấu nhắc lệnh bằng cách sử dụng titlelệnh.

Bạn có thể tạo một tệp bó (giả sử mycd.bat) có chứa:

title "%1"
cd  "%1"

và sử dụng nó thay vì "cd":

mycd "newdir"

Bạn cũng có thể đặt tệp .bat trong system32 nếu bạn muốn nó luôn có sẵn.


4
Sử dụng macro sẽ là một lựa chọn tốt hơn:doskey cd=cd $* ^&^& title $*
grawity

@grawity: Ý kiến ​​hay.
harrymc

1

Bạn không thể, ít nhất là không với vỏ Windows.


thể thêm các chuỗi thoát "set Xterm title" vào %PROMPT%, nhưng bạn sẽ cần một trình giả lập thiết bị đầu cuối khác (có lẽ là PuTTYcyg hoặc một cái gì đó từ SfU), vì Windows Console không hỗ trợ các chuỗi thoát.

Ngoài ra, tìm một shell khác có thể sử dụng các chức năng của bảng điều khiển Windows để đặt tiêu đề.


Chúng thường bị nhầm lẫn trong bối cảnh Windows, vì vậy ...

shell đọc và giải thích đầu vào; cmd.exe, command.com,/bin/sh

thiết bị đầu cuối , trình giả lập thiết bị đầu cuối , bảng điều khiển hiển thị các chương trình dựa trên văn bản (bao gồm cả vỏ) trên màn hình của bạn; Windows Console, xterm,PuTTYcyg


Trên thực tế, cmd.exe là một thiết bị đầu cuối. thám hiểm là một cái vỏ.
Rook

1
@Idigas: explorerlà một vỏ GUI, cmd.exelà một vỏ dựa trên văn bản. (Hãy suy nghĩ về nó: cmd.exelà tương đương chính xác của /bin/shtrong Unix, và /bin/shluôn được gọi là "vỏ" Tương tự như vậy, Windows Console là tương đương với một "mô phỏng thiết bị" trong X11..)
grawity

Tôi đứng sửa.
Rook

1

Giả sử \ tools nằm trong đường dẫn và đó là nơi bạn giữ các tệp bó của mình:

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

Bây giờ bạn có một cdtitle.batcái mà bạn có thể gọi từ một tệp bó khác.


1

Tạo một tệp: cd.bat và đặt các mục sau vào đó:

cd %*  
title %CD%  

Sau đó ban hành lệnh này:

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

Thay thế "..." bằng đường dẫn đến cd.bat. Hãy thử nó và thấy rằng nó hoạt động.

Để tạo ra is-ish vĩnh viễn đó, hãy tạo dosrc.cmd, đặt lệnh doskey đó vào đó, rồi tạo một phím tắt cmd, nhấp chuột phải vào nó và chọn thuộc tính.

Sửa đổi mục tiêu thành:

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

Một lần nữa, thay thế "..." bằng đường dẫn đến dosrc.cmd

Sau đó nhấp đúp chuột vào phím tắt, bạn sẽ có chức năng cd.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.