PATH चर के भीतर पर्यावरण चर के विस्तार के साथ एक निश्चित समस्या है जब चर एक पथ में फैलता है जिसमें रिक्त स्थान होते हैं।
हमने "Our_ROOT = c: \ MyRoot" जैसे अपने स्वयं के सिस्टम स्तर चर बनाए और फिर इसे "PATH =;% Our_ROOT% \ बिन;" और जो "PATH =; c: \ MyRoot \ bin;" में सही तरीके से विस्तारित हो जाता है। अब तक कोई समस्या नहीं।
लेकिन, विंडोज 7 (32-बिट) पर, मेरे पास एक उत्पाद खुद को स्थापित करने और इस तरह के सिस्टम वातावरण चर बनाने के लिए था:
STUDIO_BIN=C:\program files\Company Name\Product Name 10.4\bin
और इसे सिस्टम PATH चर में जोड़ा गया:
PATH=<other path elements>;%STUDIO_BIN%;<more path elements>
लेकिन CMD में दिखाए गए PATH मानों में "% STUDIO_BIN%;" और विस्तारित पथ नहीं। मेरा कंप्यूटर में गुण> गुण> उन्नत> Env.Vars के रूप में अच्छी तरह से unexpanded बने रहे। इसका मतलब है कि मैं उस निर्देशिका में DLL के लिए आवश्यक प्रोग्राम नहीं चला सकता था।
केवल एम्बेडेड स्थानों के बिना एक नाम के लिए STUDIO_BIN (मेरे कंप्यूटर के माध्यम से> उन्नत ...> Env Vars) को बदलकर:
STUDIO_BIN=C:\ProductName\bin
और फिर CMD विंडो को फिर से शुरू करना, PATH अब है:
PATH=<other path elements>;C:\ProductName\bin;<more path elements>
एक अन्य उपाय यह है कि आप PATH में जो सिस्टम वैरिएबल का उपयोग कर रहे हैं, उसे My Computer> Properties> Advanced ...> एन्वायर्नमेंट वॅरीटेबल्स संवाद का उपयोग करके पर्याप्त रूप से संपादित करें। मैंने एक चरित्र जोड़ने और इसे 'परिवर्तन' बनाने के लिए हटाने की कोशिश की और फिर ठीक हो गया, एक नया सीएमडी प्रॉम्प्ट शुरू किया और पैठ को सही ढंग से विस्तारित नहीं किया गया। मैंने तब पथ के हिस्से को हटाने की कोशिश की थी इसलिए यह था
STUDIO_BIN=C:\Program Files\Company Name
("उत्पाद का नाम 10.4" को छोड़ते हुए) और लो, और निहारना, अगले CMD प्रॉम्प्ट ने PATH को STUDIO_BIN के साथ ठीक से विस्तारित दिखाया!
अजीब तरह से, अगर मैं वापस चला गया और STUDIO_BIN में "उत्पाद का नाम 10.4" जोड़ दिया (मूल रूप से सभी जगह जो मूल रूप से इससे पहले कि मैं इसके साथ मिलाना शुरू कर दिया था) और पाथ को अभी भी सही ढंग से विस्तारित किया गया था।
अपनी सामग्री में पर्याप्त परिवर्तन के साथ, पर्यावरण चर डायलॉग में कुछ अतिरिक्त प्रसंस्करण से गुजरता है जो इसे काम करने की अनुमति देता है। प्रसंस्करण जो उत्पाद के इंस्टॉलर द्वारा चर जोड़ा गया था (जो शायद रजिस्ट्री में सीधे पैट को संशोधित करता है) नहीं किया गया है।
मैं लगभग सकारात्मक हूँ यह XP के साथ एक समस्या थी। यह सिर्फ विंडोज 7 में मेरे लिए पुनर्जीवित हुआ क्योंकि मैं एक नई विकास मशीन को एक साथ रख रहा था। स्पष्ट रूप से यह Microsoft द्वारा तय नहीं किया गया है।
जाहिरा तौर पर भी MS ProgramFiles% जैसे MS परिभाषित चर पथ में सही ढंग से विस्तार नहीं करेंगे।
यदि आप PATH को कमांड-लाइन या बैच फ़ाइल के माध्यम से सेट कर रहे हैं तो यह पृष्ठ एक संभावित उत्तर प्रदान करता है। (उद्धरण चिह्नों में SET के बाद पूरे कमांड को शामिल करें।) मुझे नहीं पता कि मैंने पर्यावरण के चर सेट करने के लिए किस उत्पाद को इंस्टाल किया, लेकिन यह स्पष्ट रूप से रिक्त स्थान के साथ रास्तों का विस्तार करने के लिए जो भी प्रसंस्करण की आवश्यकता है उसके आसपास चला गया।
तो - संक्षेप में, आप या तो कर सकते हैं:
रिक्त स्थान के बिना पथों के पथों को बदलें (और सभी संबद्ध फ़ाइलों को स्थानांतरित करें), या
पर्यावरण चर संवाद में विस्तार करने में विफल रहे चर को संपादित करें (उन्हें सही ढंग से संसाधित करने के लिए उन्हें पर्याप्त रूप से बदलना - मैं सकारात्मक नहीं हूं कि कितना पर्याप्त है)।