अपडेट - बेहतर संस्करण 18 जुलाई 2019।
अंतिम सारांश, भले ही मैं ज्यादातर विंडोज़ कंसोल काम के लिए पॉवरशेल पर चला गया हूं, लेकिन मैंने इस पुराने cmd मुद्दे को लपेटने का फैसला किया है, मुझे आज एक cmd कंसोल पर जाना था, और इस सुविधा की कमी ने वास्तव में मुझे मारा। यह अंत में रिक्त स्थान के साथ भी काम करता है, जहां मेरा पिछला उत्तर विफल होगा।
इसके अलावा, यह अब अन्य घर उप-फ़ोल्डरों के लिए भी उपसर्ग के रूप में ~ का उपयोग करने में सक्षम है, और यह आगे-स्लैश को बैक-स्लैश के रूप में अच्छी तरह से स्वैप करता है। तो यहाँ यह है;
चरण 1. इन डॉस मैक्रोज़ बनाएँ , कहीं न कहीं वे हर बार cmd शुरू होता है उठाया।
DOSKEY cd=cdtilde.bat $*
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..
चरण 2. cdtilde.bat फ़ाइल बनाएँ और इसे अपने PATH में कहीं रखें
@echo off
set dirname=""
set dirname=%*
set orig_dirname=%*
:: remove quotes - will re-attach later.
set dirname=%dirname:\"=%
set dirname=%dirname:/"=%
set dirname=%dirname:"=%
:: restore dirnames that contained only "/"
if "%dirname%"=="" set dirname=%orig_dirname:"=%
:: strip trailing slash, if longer than 3
if defined dirname if NOT "%dirname:~3%"=="" (
if "%dirname:~-1%"=="\" set dirname="%dirname:~0,-1%"
if "%dirname:~-1%"=="/" set dirname="%dirname:~0,-1%"
)
set dirname=%dirname:"=%
:: if starts with ~, then replace ~ with userprofile path
if %dirname:~0,1%==~ (
set dirname="%USERPROFILE%%dirname:~1%"
)
set dirname=%dirname:"=%
:: replace forward-slashes with back-slashes
set dirname="%dirname:/=\%"
set dirname=%dirname:"=%
chdir /D "%dirname%"
के साथ ठीक परीक्षण;
cd ~ (traditional habit)
cd~ (shorthand version)
cd.. (shorthand for going up..)
cd / (eg, root of C:)
cd ~/.config (eg, the .config folder under my home folder)
cd /Program Files (eg, "C:\Program Files")
cd C:/Program Files (eg, "C:\Program Files")
cd \Program Files (eg, "C:\Program Files")
cd C:\Program Files (eg, "C:\Program Files")
cd "C:\Program Files (eg, "C:\Program Files")
cd "C:\Program Files" (eg, "C:\Program Files")
ओह, यह आलसी को उद्धृत करने की भी अनुमति देता है, जिसे मैंने उपयोगी पाया, यहां तक कि जब स्थान फ़ोल्डर पथ नामों में होते हैं, क्योंकि यह सभी तर्कों को लपेटता है जैसे कि यह एक लंबा स्ट्रिंग था। जिसका मतलब है कि सिर्फ एक प्रारंभिक उद्धरण भी काम करता है, या पूरी तरह से उद्धरण के बिना भी काम करता है।
नीचे दिए गए अन्य सभी सामानों को अब नजरअंदाज किया जा सकता है, इसे ऐतिहासिक कारणों के लिए छोड़ दिया गया है - इसलिए मैं फिर से वही गलतियाँ नहीं करता
पुराना अपडेट 19 अक्टूबर 2018।
यदि किसी और ने मेरे दृष्टिकोण की कोशिश की, तो नीचे दिए गए मेरे मूल उत्तर ने रिक्त स्थान को नहीं संभाला, उदाहरण के लिए, निम्न विफल रहा।
> cd "c:\Program Files"
Files""]==["~"] was unexpected at this time.
मुझे लगता है कि इसे हल करने का एक तरीका होना चाहिए। यदि मैं अपना उत्तर सुधार सकता हूं तो फिर से पोस्ट करूंगा। (ऊपर देखें, मुझे आखिरकार वह सब मिल गया जिस तरह से मैं चाहता था।
मेरा मूल उत्तर, अभी भी काम की जरूरत है ... 7th Oct 2018।
मैं आज ही इसे करने की कोशिश कर रहा था, और मुझे लगता है कि मुझे यह मिल गया है, यह वही है जो मुझे लगता है कि अच्छी तरह से काम करता है;
सबसे पहले, कुछ डॉसक मैक्रो;
DOSKEY cd=cdtilde.bat $*
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..
और फिर मेरे रास्ते में एक बैट फाइल;
cdtilde.bat
@echo off
if ["%1"]==["~"] (
chdir /D "%USERPROFILE%"
) else (
chdir /D %*
)
ये सभी ठीक काम करने लगते हैं;
cd ~ (traditional habit)
cd~ (shorthand version)
cd.. (shorthand for going up..)