अद्यतन नंबर 2 - अब वास्तविक प्रश्न पर: क्यों नेस्टेड, उपयोगकर्ता-निर्मित चर विस्तार करने में विफल होते हैं?
विंडोज में चर विस्तार से संबंधित कुछ सामान्य समस्याएं हैं। मैं पहले से ही एक ही समस्या में चला गया और कोई स्पष्ट, प्रतिलिपि प्रस्तुत करने योग्य परिस्थितियों नहीं मिला - पुनरावृत्ति स्तर जिस पर विस्तार विफल रहता है सुसंगत नहीं है, विशेष वर्ण भूमिका निभाने के लिए प्रतीत नहीं होते हैं, आदि।
केवल व्यवहार्य वर्कअराउंड मैंने पाया कि रिकर्सन लेवल द्वारा वेरिएबल रिकर्सन लेवल को जोड़ा जा रहा है। इसका मतलब है: उन सभी चरों को हटाने की कोशिश करें, जिन्हें आप एक-दूसरे में घोंसला बनाना चाहते हैं (पाथ से अपने उपयोगकर्ता-निर्धारित चर सहित कॉल), और फिर खरोंच से शुरू करें। अपने मूल चर (आदि ANT-HOME) को परिभाषित करें, प्रतिबद्ध करें, जांचें कि क्या यह विस्तारित है, यदि यह है, तो अगले स्तर की प्रतिबद्धताओं के साथ आगे बढ़ें, जांच करें ... आपको विचार मिलता है।
अद्यतन उत्तर - सीएलआई और जीयूआई का उपयोग करके स्थायी पर्यावरण चर को परिभाषित करना - मूल उत्तर के लिए नीचे स्क्रॉल करें
GUI विधि:
विंडोज 7 पर, मेटा-प्रॉम्प्ट में बस "सिस्टम" टाइप करें और आपको एक प्रविष्टि दिखाई देगी "सिस्टम पर्यावरण चर को संपादित करें"। वहां से, "पर्यावरण चर" पर क्लिक करें। वहां, आप या तो सिस्टम चर पथ (नीचे सूची) को संपादित कर सकते हैं या उपयोगकर्ता पर्यावरण चर में एक नया पथ चर जोड़ / संपादित कर सकते हैं।
कमांड लाइन विधि:
पर्यावरण चर को स्थायी रूप से बदलने के लिए, आपको Windows कमांड लाइन में SETX कमांड का उपयोग करना होगा। विंडोज के अन्य संस्करणों के विपरीत, यह विंडोज 7 के साथ बिल्ट-इन आता है। इसका सिंटैक्स एसईटी से बहुत भिन्न होता है, लेकिन यह शक्तिशाली भी है। आपको थोड़ा सावधान रहना होगा, हालांकि, SETX के साथ अपने चरों की गड़बड़ी करना आसान है।
डिफ़ॉल्ट रूप से, आप उपयोगकर्ता चर बदलते हैं । आपके पास एक PATH उपयोगकर्ता वातावरण चर हो सकता है जो सिस्टम PATH चर के साथ सह-अस्तित्व में है। यदि आपने इसे अभी तक परिभाषित नहीं किया है, तो टाइप करके देखें:SETX PATH yourpath
आप सिस्टम चर पथ के लिए एक मान भी जोड़ सकते हैं। ऐसा करने के लिए, आपको पहले व्यवस्थापक विशेषाधिकारों के साथ एक कमांड लाइन लाने की आवश्यकता है। ऐसा करने के लिए, मेटा (विंडोज़) कुंजी, प्रकार मारा cmd
और हिट CTRL
+ SHIFT
+ ENTER
और यूएसी संवाद की पुष्टि करें।
पथ में नए मान जोड़ने के लिए, अब आप प्रवेश कर सकते हैं
setx path "%path%;yournewpath" /m
उस सिंटैक्स का पालन करना महत्वपूर्ण है! यदि आप पहले%% शामिल नहीं करते हैं, तो पथ के सभी मौजूदा मान खो जाएंगे और केवल आपके नए पथ को बदल दिया जाएगा।
अंत में / m स्विच सिस्टम वातावरण में चर सेट करता है।
कृपया ध्यान दें कि आपको अपने नए चर का उपयोग करने के लिए एक नई कमांड लाइन लानी होगी।
TechNet पर SETX के लिए एक पूर्ण संदर्भ भी है ।
OLD ANSWER
कमांड सेट केवल वर्तमान कमांड लाइन सत्र की अवधि के लिए चर अद्यतन करता है।
किसी वैरिएबल में मान जोड़ने का सही सिंटैक्स है 'सेट [वैरिएबल] =% [वैरिएबल]%; [नया मूल्य] `
ध्यान दें कि समान चिह्न के बाईं ओर, आपको प्रतिशत संकेतों को छोड़ना होगा!
स्रोत: विंडोज सर्वर के लिए टेकनेट कमांड-लाइन संदर्भ