बैच फ़ाइल का उपयोग करके वर्तमान कार्य निर्देशिका को कैसे बदलें


110

मुझे बैच फ़ाइल लिखने में कुछ मदद चाहिए। मेरे पास एक चर रूट में संग्रहित रास्ता है:

set root=D:\Work\Root

फिर मैं इस रूट पर अपनी वर्किंग डायरेक्टरी को इस प्रकार बदल रहा हूं:

cd %root%

जब मैं डी ड्राइव पर कहीं से भी इस बैच फ़ाइल को निष्पादित करता हूं तो यह सफलतापूर्वक किया जाता है। लेकिन जब मैं किसी अन्य ड्राइव से उसी बैच फ़ाइल को निष्पादित करता हूं, तो सीडी% रूट% काम नहीं करता है।

क्या कोई ऐसा तरीका है जिससे मैं रूट वेरिएबल से ड्राइव अक्षर प्राप्त कर सकता हूं? फिर मैं इस ड्राइव में वर्तमान निर्देशिका को पहले बदल सकता हूं और फिर सीडी% रूट% काम करेगा।

जवाबों:


160

/Dड्राइव को भी बदलने के लिए निर्दिष्ट करें ।

CD /D %root%

1
अन्य उत्तर कहते हैं \d(लोअरकेस) क्या दोनों में कोई अंतर है? क्या विकल्प सिर्फ मामला-असंवेदनशील है?
जॉस

3
@ जोश: हां, अगर हम सीएमडी के आंतरिक आदेशों के बारे में बात कर रहे हैं, तो /Dऊपर दिए गए पैरामीटर जैसे केस-असंवेदनशील ( /D= /d) हैं, ठीक उसी तरह जैसे कि कमांड्स स्वयं ( CD= cd)। मेरा मानना ​​है कि सभी बाहरी विंडोज कमांड-लाइन उपयोगिताओं (जैसे FINDSTR, SORTआदि) के लिए भी सही है । दूसरी तरफ, तीसरे पक्ष के उपकरण, केस-संवेदी मापदंडों का उपयोग कर सकते हैं।
एंड्री एम

खुद के जवाब के लायक नहीं है, लेकिन आप कर सकते हैं set "root=/d D:\Work\Root"और cd %root%या set "root=cd /d D:\Work\Root"और सिर्फ%root%
Stephan

40

महज प्रयोग करें cd /d %root% ड्राइवर अक्षरों को बदलने और निर्देशिकाओं को बदलने के लिए करें।

वैकल्पिक रूप से, pushd %root%निर्देशिकाओं को बदलते समय ड्राइव अक्षर को स्विच करने के लिए उपयोग करें और पिछली निर्देशिका को एक स्टैक पर संग्रहीत करें ताकि आप popdवापस स्विच करने के लिए उपयोग कर सकें ।

ध्यान दें कि pushdआप निर्देशिकाओं को नेटवर्क साझा में बदलने की अनुमति भी देंगे। यह वास्तव में आपके लिए एक नेटवर्क ड्राइव को मैप करेगा, फिर popdउस निर्देशिका के लिए निष्पादित करते समय इसे अनमैप करें ।


29

इसे इस्तेमाल करे

chdir /d D:\Work\Root

आनंद लें;)


6
पक्ष? इस संदर्भ में भी इसका क्या मतलब है?
मथियास लिकेगार्ड लोरेनजेन

यह ध्यान दिया जाना चाहिए कि निर्देशिका से पहले और बाद में, "इस तरह से रखा जाना चाहिए? Chdir / d" D: \ Work \ Root "
विज्ञापन Infinitum

12

एक सरल वाक्यविन्यास हो सकता है

पुशड% रूट%


3
वाह, सभी समाधानों में सबसे निचली रैंकिंग वह है जो वास्तव में एक आकर्षण की तरह काम करती है! धन्यवाद!
आर्टो कालिशियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.