वर्तमान निर्देशिका से बैच फ़ाइल को निष्पादित करने के लिए वर्तमान निर्देशिका कैसे प्राप्त करें? [डुप्लिकेट]


4

मेरे पास चलाने के लिए एक बैच फ़ाइल (लंच.बैट) है जिसमें दूसरी बैच फ़ाइल (main.bat) चलाने की कमांड है। मैंने इस दो फाइलों को अपने पेनड्राइव में कॉपी कर लिया है। मुझे पता है कि मेरे कंप्यूटर में मेरी पेनड्राइव ड्राइव बाद में है, इसीलिए मैं अपने कंप्यूटर पर दूसरे बैच को चलाने के लिए 1st बैच फ़ाइल (लंच.बैट) को कॉन्फ़िगर कर सकता हूं। लेकिन जब मैं इस दो फाइलों को अपने पेनड्राइव में कॉपी करता हूं और इसे दूसरे कंप्यूटर में डालता हूं, तो 1 बैच फाइल दूसरी बैच फाइल नहीं चला सकती है। इसलिए यह मेरे लिए एक समस्या है। किसी भी कंप्यूटर से और किसी भी ड्राइव से बैच चलाने के लिए c ++ (GetCurrentDirectory) फ़ंक्शन जैसी वर्तमान निर्देशिका कमांड प्राप्त करने के लिए क्या कोई मेरी मदद कर सकता है?

जवाबों:


3

से रेमंड चेन

आसान तरीका यह है कि% CD% छद्म चर का उपयोग करें। यह वर्तमान कार्यशील निर्देशिका में फैलता है।

set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory

1

cdबिना किसी पैरामीटर्स के टाइप किया गया बैच कमांड करंट वर्किंग डायरेक्टरी लौटाएगा।


0

इस कोड को lunch.batफाइल में डालें :

call %~dp0main.bat

यह main.batउसी ड्राइव और फ़ोल्डर से शुरू होता है lunch.bat, जहाँ भी यह है।

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