Windows XP में वर्तमान कार्यशील निर्देशिका के लिए CMD का शीर्षक कैसे सेट करें


18

गतिशील रूप से कार्यशील निर्देशिका में Windows XP में कमांड प्रॉम्प्ट (CMD) का शीर्षक कैसे सेट किया जाता है? मैं उपयोग कर सकता हूं

title %CD%

हालाँकि, यह एक अस्थायी फ़िक्स है और जब मैं CD कमांड का उपयोग करके डायरेक्टरी बदल देता हूँ तो शीर्षक निश्चित रहता है।


खैर, जब आप pushdमैक्रोज़ में से किसी एक के साथ उपयोग करते हैं तो क्या होता है ?
हैलो71

जवाबों:


20

यह गंभीरता के doskey मैक्रो के लिए धन्यवाद काम करने के लिए मिला। उसने cd और टाइटल कमांड को संयोजित करने के लिए && का उपयोग किया है जो पूरी तरह से काम करता है। मैंने हर बार रजिस्ट्री को ट्विक करके 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 प्रोसेसर पर जाते हैं । यहां AutoRun नामक एक कुंजी है । हम इस कुंजी का मान संशोधित करते हैं और इसे cmd.bat फ़ाइल के स्थान पर उद्धरण में सेट करते हैं (जैसे: "C: \ cmd.bat")।

अब cd काम करता है जैसा हम चाहते हैं कि हर बार हम cmd खोलें।

विंडोज़ में कमांड चाइनिंग के लिए मूल रूप से && का उपयोग किया जाता है


कूल, मुझे आपके समाधान का काम मिला। लेकिन मैंने अपनी "हिट टैब की, ऑटो-मैच" कार्यक्षमता खो दी।
rok2791SWTS

आपने रजिस्ट्री में HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command प्रोसेसर कुंजी में कंप्लीशनचेयर / PathCompletionChar मानों को परेशान किया हो सकता है। ऑटो-पूर्ति के लिए टैब कुंजी का उपयोग करने के लिए आपको पूर्णताचर्चा और PathCompletionChar मानों को 0x9 (हेक्स) पर सेट करने की आवश्यकता है
स्ट्रॉमशैडो

+1 यह एक कार्यशील समाधान है, लेकिन इसमें मामूली सुधार है: ऑटोरन एक कुंजी नहीं है, लेकिन स्ट्रिंग के प्रकार का मूल्य है।
mloskot

1
अच्छा समाधान! आप इसे cmd_title.bat के बिना भी कर सकते हैं यदि आप इसके बजाय मैक्रो टाइप करते हैं:doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on
Superole

1
मुझे लगता @echo offहै कि आवश्यक नहीं है यदि आप सिर्फ @उन कमांडों के सामने जोड़ते हैं जो आप नहीं चाहते हैं। मैंने इस कमांड को पूर्ण पथ के बजाय केवल वर्तमान निर्देशिका नाम के लिए शीर्षक सेट करने के लिए और अधिक उपयोगी पाया@for %%* in (.) do @title %%~nx*
ब्रॉन डेविस

5

मुझे लगता है कि cd की तुलना में pushd और popd अधिक उपयोगी होते हैं, और यदि वे टाइप करने के लिए तेज होते तो बहुत अधिक उपयोग होता। मैंने निम्न स्क्रिप्ट के साथ cd बनाम 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"

और "सीडी" के बजाय इसका उपयोग करें:

mycd "newdir"

यदि आप इसे हमेशा उपलब्ध रहना चाहते हैं तो आप .bat फ़ाइल को system32 में भी रख सकते हैं।


4
मैक्रोज़ का उपयोग करना एक बेहतर विकल्प होगा:doskey cd=cd $* ^&^& title $*
user1686

@ शुद्धता: अच्छा विचार है।
harrymc

1

आप कम से कम विंडोज शेल के साथ नहीं कर सकते।


यह संभव हो सकता है कि "सेट Xterm टाइटल" एस्केप सीक्वेंस को जोड़ा जाए %PROMPT%, लेकिन आपको एक अलग टर्मिनल एमुलेटर (शायद PuTTYcyg या SfU से कुछ) की आवश्यकता होगी, क्योंकि विंडोज कंसोल एस्केप सीक्वेंस का समर्थन नहीं करता है।

वैकल्पिक रूप से, एक और शेल ढूंढें जो शीर्षक सेट करने के लिए विंडोज कंसोल फ़ंक्शन का उपयोग कर सकता है।


ये अक्सर विंडोज संदर्भों में भ्रमित होते हैं, इसलिए ...

शेल पढ़ता है और इनपुट की व्याख्या करता है; cmd.exe, command.com,/bin/sh

टर्मिनल , टर्मिनल एमुलेटर , कंसोल आपकी स्क्रीन पर पाठ-आधारित कार्यक्रम (शेल सहित) प्रदर्शित करता है; Windows Console, xterm,PuTTYcyg


वास्तव में, cmd.exe एक टर्मिनल है। एक्सप्लोरर एक खोल है।
रूक

1
@ इडीगास: explorerएक जीयूआई शेल है, cmd.exeएक टेक्स्ट-आधारित है। (इसके बारे में सोचो: यूनिक्स में cmd.exeसटीक समकक्ष है /bin/sh, और /bin/shइसे हमेशा "शेल" कहा जाता है। इसी तरह, विंडोज कंसोल X11 में "टर्मिनल एमुलेटर" के बराबर है।)
user1686

मुझे सही साबित होना है।
रूक

1

यह मानते हुए कि उपकरण पथ में है, और यह वह जगह है जहाँ आप अपनी बैच फ़ाइलें रखते हैं:

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 बनाएं, उस डोज़क कमांड को वहां रखें, और फिर एक cmd शॉर्टकट बनाएं, उस पर राइट क्लिक करें और गुणों का चयन करें।

लक्ष्य को संशोधित करें:

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

फिर से, "..." को dosrc.cmd के पथ से बदलें

फिर शॉर्टकट पर डबल क्लिक करें, आपके पास सीडी कार्यक्षमता होनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.