मेरे PATH में परिवर्तन क्यों नहीं पहचाने जा रहे हैं?


36

जब मैं अपने PATH को या तो बिल्ट-इन एनवायरनमेंट वेरिएबल्स डायलॉग, या कुछ और का उपयोग करके अपडेट करता हूं पथ संपादक की , और फिर कमांड-प्रॉम्प्ट को खोलता हूं, तो मेरे PATH में परिवर्तन कंसोल के साथ पंजीकृत नहीं होंगे, यह इस बात पर निर्भर करता है कि कमांड-प्रॉम्प्ट कहां था से शुरू।

उदाहरण के लिए, यदि मैं अपने PATH को संपादित करता हूं और फिर स्टार्ट मेनू से cmd.exe शुरू करता हूं या डेस्कटॉप पर शॉर्टकट करता हूं, तो मेरा पेट ठीक लगता है: इसे सफलतापूर्वक अपडेट किया गया है; हालाँकि, अगर मैं कहीं से भी शॉर्टकट से cmd.exe शुरू करता हूँ अन्य प्रारंभ मेनू या डेस्कटॉप से, नए पथ पढ़ नहीं प्राप्त करता है और मैं पुराने पथ के बजाय मिलता है। यह बहुत अजीब है।

मैंने डेस्कटॉप पर शॉर्टकट से कमांड प्रॉम्प्ट चलाने की कोशिश की है और यह ठीक काम करता है; मैं फिर उस की नकल करता हूं डेस्कटॉप पर एक उप-फ़ोल्डर में सटीक शॉर्टकट को हूं, और मुझे गैर-अपडेटिंग पाथ समस्या मिलती है।

मुझे लगता है कि यह समझाना काफी कठिन है, इसलिए मैंने इस मुद्दे को कार्रवाई में दिखाने के लिए एक पेंचकस बनाया ।

यहाँ कमांड प्रॉम्प्ट शॉर्टकट का एक स्क्रीनशॉट है जैसा कि उस स्क्रीनकेस्ट में देखा गया है:

कमांड प्रॉम्प्ट शॉर्टकट सेटिंग्स

यह विंडोज विस्टा होम प्रीमियम SP2 पर है।

जवाबों:


30

जब आप एक नई प्रक्रिया शुरू करते हैं (जैसे कि एक नई कमांड लाइन), तो यह शुरू होने वाली प्रक्रिया से पर्यावरण चर उठाएगा। जब पथ को अपडेट किया जाता है, तो केवल अपडेट करने वाली प्रक्रिया यह जान सकती है कि यह बदल गया है, और सेटिंग तब तक प्रचारित नहीं करती है जब तक आप (प्रति-उपयोगकर्ता सेटिंग्स के लिए) या रिबूट (सिस्टम-वाइड सेटिंग्स के लिए) लॉग ऑन नहीं करते हैं


2
हालांकि, मुख्य explorerप्रक्रिया रजिस्ट्री में पर्यावरण परिवर्तन (संवाद बॉक्स के अंतर्गत आता है rundll32) का पता लगाएगी और अपने पर्यावरण को स्वचालित रूप से अपडेट करेगी। (कम से कम XP में ऐसा करता है।) यही कारण है कि cmdशॉर्टकट से शुरू होने पर परिवर्तन दिखाई देते हैं ।
ग्वारिटी

रोवलैंड, इसने मुझे समस्या का निवारण करने के लिए पर्याप्त जानकारी प्रदान की कि ऐसा क्यों हो रहा है, हालांकि इसने मेरे प्रश्न का पूरी तरह से उत्तर नहीं दिया। विवरण के लिए मेरा स्वयं का उत्तर देखें। धन्यवाद!
चार्ल्स रोपर

इस उत्तर के लिए धन्यवाद! मुझे बस इतना करना था कि मैं अपने कमांड प्रॉम्प्ट को बंद कर दूं और इसे फिर से खोलूं।
user1477388

यह मेरे लिए समाधान था! मैं एक मल्टीटाब आवरण (ConEmu) के भीतर विंडोज के लिए गिट बैश का उपयोग कर रहा हूं और सोचा कि क्यों echo $PATHकाम नहीं कर रहा था। मैंने मान लिया कि यह ताजा होगा लेकिन तब तक सही नहीं निकला जब तक कि मैंने सभी गिट बैश टैब्स और कॉनमु को बंद नहीं कर दिया।
ओलिव यूटिलो

27

जैसा कि रॉलैंड ने सुझाव दिया है, एक नई प्रक्रिया शुरू करते समय, यह उस प्रक्रिया से पर्यावरण चर पढ़ेगा जो इसे शुरू कर रहा है। इसलिए, स्टार्ट मेनू या डेस्कटॉप से कमांड-प्रॉम्प्ट शुरू करते समय , यह पर्यावरण चर को पढ़ता हैexplorer.exe , जिससे ग्रेविटी का पता चलता है, रजिस्ट्री में पर्यावरण सेटिंग्स में बदलाव का पता लगाता है और इस प्रकार मैं अपने नए पैट को कमांड-प्रॉम्प्ट से शुरू होने वाला देखता हूं डेस्कटॉप या स्टार्ट मेनू।

मेरे द्वारा पोस्ट किए गए स्क्रीनकेस्ट में मेरे PATH को अपडेट नहीं देखने का कारण यह है क्योंकि मैंने शुरू में FARRFindAndRunRobot.exe को मूल प्रक्रिया बनाते हुए एक एक्सप्लोरर विंडो लॉन्च की थी । एफएआरआर स्वचालित रूप से पर्यावरण परिवर्तनों का पता नहीं लगाता है और इसलिए, इससे उत्पन्न होने वाली बाल प्रक्रियाएं नए पैट को नहीं उठाती हैं। मेरे पास एक्सप्लोरर में ' एक अलग प्रक्रिया में लॉन्च फोल्डर विंडो ' विकल्प भी था, जिसका अर्थ है कि सभी खोजकर्ता। Exe विंडो जिन्हें मैंने बाद में FARR द्वारा खोले गए शुरुआती चरण में खोला है, जहां FARR के बच्चे भी हैं

' अलग प्रक्रिया में फ़ोल्डर लॉन्च करें ' विकल्प को बंद करके , नयाexplorer.exe , एफएआरआर के तहत प्रक्रियाएं नहीं बनाई गई हैं, जो मेरी समस्या को हल करती हैं। हालाँकि, मैं FARR से सीधे कंसोल विंडो और अन्य चीजें भी लॉन्च करता हूं; इनसे पुराने वातावरण की सेटिंग भी मिलती है। यदि मैं एफएआरआर को पुनः आरंभ करता हूं, तो नई पर्यावरण सेटिंग्स को प्रचारित किया जाता है।

यहां प्रक्रिया एक्सप्लोरर का एक स्क्रीनशॉट दिखा रहा है, जिसमें एफएआरआर से उत्पन्न प्रक्रियाएं हैं। explorer.exeजब तक मैं FARR को पुनः आरंभ नहीं करता, इनमें से कोई भी प्रक्रिया शीर्ष-स्तर से नई पर्यावरण सेटिंग्स प्राप्त नहीं करती है :

प्रक्रिया खोजकर्ता


3
मेरे जवाब को वोट क्यों दिया गया? अगर इसमें कोई खामी है, तो मुझे बताएं और मैं इसे ठीक करने की कोशिश करूंगा।
चार्ल्स रॉपर

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