หนึ่งจะตั้งชื่อของ Command Prompt (CMD) ใน Windows XP เป็นไดเรกทอรีการทำงานปัจจุบันได้อย่างไรแบบไดนามิก? ฉันสามารถใช้
title %CD%
อย่างไรก็ตามนี่คือการแก้ไขชั่วคราวและชื่อยังคงได้รับการแก้ไขเมื่อฉันเปลี่ยนไดเรกทอรีโดยใช้คำสั่งซีดี
หนึ่งจะตั้งชื่อของ Command Prompt (CMD) ใน Windows XP เป็นไดเรกทอรีการทำงานปัจจุบันได้อย่างไรแบบไดนามิก? ฉันสามารถใช้
title %CD%
อย่างไรก็ตามนี่คือการแก้ไขชั่วคราวและชื่อยังคงได้รับการแก้ไขเมื่อฉันเปลี่ยนไดเรกทอรีโดยใช้คำสั่งซีดี
คำตอบ:
ทำให้มันทำงานได้ด้วยมาโคร doskey ของ gravvity เขาใช้ && เพื่อรวมคำสั่ง cd และหัวเรื่องซึ่งทำงานได้อย่างสมบูรณ์แบบ ฉันทำมาโครโหลดนี้ทุกครั้งที่ฉันใช้ cmd ด้วยการปรับแต่งรีจิสทรี
1) ฉันสร้างไฟล์ bat ชื่อcmd_title.batและเนื้อหาเป็น
@echo off
title %cd%
2) ฉันวางไฟล์นี้ในไดรฟ์ C: (C: \ cmd_title.bat)
3) สร้างไฟล์แบตช์อื่นที่ชื่อว่าcmd.batในไดรฟ์ C: ที่มีเนื้อหาดังต่อไปนี้
doskey cd = cd /d $* ^&^& "C:\cmd_title.bat"
title %cd%
(แฟล็ก / d ใช้สำหรับ cd เพื่อเปลี่ยนเป็นไดรฟ์อื่น)
4) จากนั้นเราก็เปิด regedit และไปประมวลผล HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command ที่นี่มีเป็นกุญแจสำคัญที่เรียกว่าการทำงานอัตโนมัติ เราปรับเปลี่ยนค่าของคีย์นี้และตั้งเป็นตำแหน่งของไฟล์cmd.batในเครื่องหมายคำพูด (เช่น: "C: \ cmd.bat")
ตอนนี้ cd ทำงานตามที่เราต้องการทุกครั้งที่เราเปิด cmd
โดยทั่วไป && จะใช้สำหรับการโยงคำสั่งใน Windows
doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on
@echo off
ไม่จำเป็นต้องค้นหาถ้าคุณเพิ่งเพิ่ม@
คำสั่งที่คุณไม่ต้องการเสียงก้อง ฉันพบว่าคำสั่งนี้มีประโยชน์มากขึ้นในการตั้งชื่อให้เป็นชื่อไดเรกทอรีปัจจุบันแทนที่จะเป็นเส้นทางแบบเต็ม@for %%* in (.) do @title %%~nx*
ฉันคิดว่า pushd และ popd มีประโยชน์มากกว่า cd และจะเห็นการใช้งานมากขึ้นถ้าพิมพ์เร็วขึ้น ฉันได้แก้ไขปัญหาของชื่อไดเรกทอรี cd vs. pushd / popd และ console window ด้วยสคริปต์ต่อไปนี้ซึ่งฉันเรียก 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%
คุณสามารถเปลี่ยนชื่อพร้อมรับคำสั่งโดยใช้title
คำสั่ง
คุณสามารถสร้างไฟล์แบตช์ (พูด mycd.bat) ที่มี:
title "%1"
cd "%1"
และใช้แทน "cd":
mycd "newdir"
คุณยังสามารถวางไฟล์. bat ใน system32 หากคุณต้องการให้มันใช้ได้ตลอดเวลา
doskey cd=cd $* ^&^& title $*
อย่างน้อยคุณก็ไม่สามารถใช้กับเชลล์ของ Windows ได้
มันอาจจะเป็นไปได้ที่จะเพิ่ม "ชุด Xterm ชื่อ" ลำดับหนีไป%PROMPT%
แต่คุณจะต้องมีความแตกต่างกันจำลอง terminal (บางที PuTTYcyg หรืออะไรบางอย่างจากไอ้เวร) เป็น Windows คอนโซลไม่สนับสนุนลำดับหนี
หรือหาเชลล์อื่นที่สามารถใช้ฟังก์ชันคอนโซล Windows เพื่อตั้งชื่อ
สิ่งเหล่านี้มักจะสับสนในบริบทของ Windows ดังนั้น ...
เชลล์อ่านและตีความอินพุต; cmd.exe
, command.com
,/bin/sh
ขั้ว , จำลอง terminal , คอนโซลแสดงโปรแกรมข้อความตาม (รวมทั้งเปลือก) บนหน้าจอของคุณ Windows Console
, xterm
,PuTTYcyg
explorer
เป็นเชลล์ GUI cmd.exe
เป็นข้อความที่ใช้ (ลองคิดดูสิ: cmd.exe
เป็นสิ่งที่เทียบเท่า/bin/sh
ใน Unix และ/bin/sh
ถูกเรียกว่า "the shell" เสมอในทำนองเดียวกัน Windows Console นั้นเทียบเท่ากับ "terminal emulator" ใน X11)
สมมติว่า \ 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
ที่คุณสามารถโทรจากแบตช์ไฟล์อื่น
สร้างไฟล์: cd.bat และใส่ต่อไปนี้:
cd %*
title %CD%
จากนั้นออกคำสั่งนี้:
doskey cd=...\cd.bat $*
แทนที่ "... " ด้วยพา ธ ไปยัง cd.bat ลองดูและใช้งานได้
ในการสร้างไอเท็มถาวรให้สร้าง dosrc.cmd วางคำสั่ง doskey นั้นจากนั้นสร้างทางลัด cmd คลิกขวาที่มันและเลือกคุณสมบัติ
แก้ไขเป้าหมายเป็น:
%windir%\system32\cmd.exe /K ...\dosrc.cmd
อีกครั้งแทนที่ "... " ด้วยเส้นทางไปยัง dosrc.cmd
จากนั้นดับเบิลคลิกที่ทางลัดคุณควรมีฟังก์ชั่นซีดี
pushd
กับมาโครตัวใดตัวหนึ่ง