ट्विस्टी इम्पेरसेंटर ने अपने उत्तर में जो कुछ कहा है वह सब सही है। उपयोगकर्ता पथ चर जोड़ा जाता है कि विचार पर प्रकाश डाला गया है, और मेरा मानना है कि उस अंतर के परिणामों को कुछ अतिरिक्त उपचार की आवश्यकता होती है।
पथ =% पथ% (सिस्टम); % पथ% (उपयोगकर्ता)
जब आप एक निष्पादन योग्य प्रोग्राम (या किसी भी निष्पादन योग्य स्क्रिप्ट, के रूप में इस तरह के अमल .bat
, .vbs
आदि) आप पूरी तरह से योग्य पथ प्रदान करने की आवश्यकता नहीं है।
उदाहरण के लिए, चलाने के लिए java
, आप इनमें से किसी में भी टाइप कर सकते हैं:
C:/Program Files (x86)/Java/jre6/bin/java -version
java.exe -version
java -version
पहला उदाहरण पूरी तरह से योग्य पथ का उपयोग करता है। यह हमेशा जावा के संस्करण का उपयोग करेगा उस सटीक पथ पर।
दूसरा उदाहरण %Path%
पर्यावरण चर में प्रत्येक निर्देशिका के माध्यम से जाएगा , जिसका नाम निष्पादन योग्य फ़ाइल की तलाश है java.exe
। यह बहुत पहले वाला है जो पाया जाता है, और खोज बंद कर देगा। यदि java.exe
कहीं पर दो नाम की फाइलें हैं %Path%
, तो केवल पहले एक का उपयोग किया जाता है।
तीसरा उदाहरण, दूसरे की तरह, सूचीबद्ध निर्देशिकाओं पर पुनरावृति करेगा %Path%
। इसके अलावा, क्योंकि एक फ़ाइल एक्सटेंशन प्रदान नहीं किया गया था, निष्पादन योग्य फ़ाइल एक्सटेंशन की एक सूची %PATHEXT%
पर्यावरण चर में निर्दिष्ट क्रम में, फ़ाइल के नाम से जुड़ी हुई है। कई नामित फ़ाइलें हैं, तो java.com
, java.exe
, java.bat
, कहीं पर आदि %Path%
, केवल पहले पाया जाता है।
आप निम्न बैच फ़ाइल बनाकर अपने सिस्टम पर निष्पादन योग्य पथ एक्सटेंशन की सूची देख सकते हैं:
@echo off
echo %PATHEXT%
pause
मेरी मशीन पर, ये हैं:
.COM; .EXE; बल्ला, .cmd; .vbs; .VBE; .js; .JSE; .WSF; .WSH; .MSC; .py
इस सब का क्या मतलब है?
में विपरीत अन्य वातावरण चर को, उपयोगकर्ता पथ आप सिस्टम पथ ओवरराइड करने के लिए अनुमति नहीं है। ठीक इसके विपरीत मामला है। ऊपर दिए गए उदाहरणों से, कई मामले हैं जहां आप जावा के डिफ़ॉल्ट संस्करण को बदल सकते हैं। हालाँकि, यदि सिस्टम पथ में पहले से ही जावा संस्करण सूचीबद्ध है, तो वह संस्करण है जो हमेशा पहले पाया जाएगा, क्योंकि पथ क्रम में खोजा जाता है, बाएं से दाएं और उपयोगकर्ता पथ दाईं ओर जोड़ा जाता है -हैंड साइड, बाईं ओर सिस्टम पथ के साथ।
मैं इसमें क्या कर सकता हूँ?
यदि आपके पास सिस्टम वातावरण चर की पहुंच नहीं है, तो आप उपयोगकर्ता पथ का उपयोग करके सिस्टम पथ पर डिफ़ॉल्ट प्रोग्राम को ओवरराइड नहीं कर सकते। (वास्तव में, यह इस तरह से होना चाहिए, या कुछ प्रोग्राम सही तरीके से काम करना बंद कर देंगे, और यह आपके सिस्टम को दुर्भावनापूर्ण सॉफ़्टवेयर से छेड़छाड़ करने के लिए खोल देगा। कोई भी ऐसा नहीं चाहता है।)
इसके बजाय, यदि आपको किसी विशिष्ट संस्करण का उपयोग करना चाहिए, तो आपको पूरी तरह से योग्य पथ का उपयोग करना चाहिए।