वास्तविक फ़ोल्डर के सापेक्ष बैच फ़ाइल प्राप्त करें, शॉर्टकट नहीं


8

मैंने कुछ बैच फ़ाइलों को बनाया है जो उस बैच फ़ाइल के फ़ोल्डर के सापेक्ष फ़ाइलों को स्थानांतरित करता है।

मैंने टूलबेस => न्यू टूलबार ... का उपयोग करके अपने टास्कबार में फ़ोल्डर जोड़ा है, हालांकि अब जब मैं बैच फ़ाइलों को चलाता हूं, तो शुरुआती स्थिति मेरा दस्तावेज़ (यू :) है, बैच फ़ाइलों का वास्तविक स्थान नहीं। क्या कोई रास्ता है जिससे मैं इसे वास्तविक पथ का उपयोग कर सकूं?

जवाबों:


10

अपनी बैच फ़ाइल के शीर्ष पर निम्नलिखित रखें:

CD /D %~dp0

स्पष्टीकरण:

  • /Dविकल्प बताता है CDएक ड्राइव के लिए वर्तमान ड्राइव के साथ-साथ वर्तमान निर्देशिका बदलने के लिए।
  • %0 बैच फ़ाइल का नाम है
  • ~कहते हैं कि हम कुछ संशोधक का उपयोग करना चाहते
  • d ड्राइव अक्षर के लिए फैलता है।
  • p एक रास्ते पर फैलता है।

तो %~dp0वह निर्देशिका है जिसमें बैच फ़ाइल रहती है।


सीडी पूरी तरह से काम करती है, लेकिन यह ड्राइव पदनाम को नहीं बदलती है, इसलिए स्क्रिप्ट अभी भी U: \
ck

आपके स्पष्टीकरण के बाद ड्राइव बदलने के लिए% ~ d0 जोड़ा है।
सीके।

@ck - ड्राइव के बारे में भूल गए, क्षमा करें। इसका उपयोग करना शायद सबसे आसान है CD /D। इसे प्रतिबिंबित करने के लिए उत्तर संपादित किया है।
डेव वेब

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