Windows बैच फ़ाइल से सिस्टम वातावरण चर सेट करना?


195

क्या विंडोज 7 (या उस मामले के लिए भी XP) में कमांड प्रॉम्प्ट से सिस्टम स्तर पर एक पर्यावरण चर सेट करना संभव है। मैं एक उन्नत कमांड प्रॉम्प्ट से चल रहा हूं।

जब मैं setकमांड ( set name=value) का उपयोग करता हूं , तो पर्यावरण चर केवल कमांड प्रॉम्प्ट के सत्र के लिए मान्य लगता है।

जवाबों:


179

XP समर्थन उपकरण (जो आपके XP सीडी से स्थापित किया जा सकता है) नामक एक कार्यक्रम के साथ आते हैं setx.exe:

C:\Program Files\Support Tools>setx /?

SETX: This program is used to set values in the environment
of the machine or currently logged on user using one of three modes.

1) Command Line Mode: setx variable value [-m]
   Optional Switches:
    -m  Set value in the Machine environment. Default is User.

...
For more information and example use: SETX -i

मुझे लगता है कि विंडोज 7 वास्तव setxमें एक मानक स्थापित के हिस्से के रूप में आता है ।


7
विंडोज 7 (शायद विस्टा पहले से ही) में मामूली बदलाव के साथ सेटेक्स मानक है? कोई -iझंडा नहीं है और बस चल रहा setx /?है सभी मदद + उदाहरण प्रदर्शित करता है
स्टिजn

3
याद रखें कि आप हमेशा यह देख सकते हैं कि क्या आपके पास टाइप करके यह प्रोग्राम है whereऔर फिर प्रोग्राम का नाम (इसलिए इस मामले where setx.exeमें सर्वर 2008 और सर्वर 2008SP2 बॉक्स पर इस परीक्षण में मैंने पाया कि दोनों ही मामलों में यह मौजूद था%windir%\System32\setx.exe
aolszowka

2
@stijn - Win7 संस्करण ने आधिकारिक तौर पर फ्लैग इंट्रोड्यूसर -को फॉरवर्ड स्लैश से भी बदल दिया /। हालांकि, ऐसा लगता है कि -संस्करण अभी भी काम करता है।
TED

2
लगता है कि सेट चर की सामग्री की 1024 लंबाई सीमा है
zhy2002

XP SP2 सपोर्ट टूल द्वारा प्रदान किए गए सेटक्स में फ़ॉरवर्ड स्लैश की आवश्यकता होती है /और डैश -काम नहीं करता है। setx variable value /m
कीथ

137

setx.exeकमांड लाइन में JAVA_HOME सेट करने के लिए सरल उदाहरण :

setx JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

यह वर्तमान उपयोगकर्ता के लिए पर्यावरण चर "JAVA_HOME" सेट करेगा। यदि आप सभी उपयोगकर्ताओं के लिए एक चर सेट करना चाहते हैं, तो आपको विकल्प "-m" का उपयोग करना होगा। यहाँ एक उदाहरण है:

setx -m JAVA_HOME "C:\Program Files (x86)\Java\jdk1.7.0_04"

नोट : आपको इस कमांड को प्रशासक के रूप में निष्पादित करना होगा।

नोट : एक कमांड-लाइन एडमिन विंडो से कमांड सेटक्स चलाना सुनिश्चित करें


7
यह भी ध्यान रखें कि कुछ उपकरण JAVA_HOME में रिक्त स्थान की तरह नहीं है इसलिए का उपयोग कर इसे की कीमत Progra~1की तरह तो: setx /M JAVA_HOME "C:\Progra~1\Java\jdk1.7.0_09"
सामैल

1
यह मेरा सारा जीवन कहां रहा।
फिलिप रीगो

20

यदि आप SETX के माध्यम से एक चर सेट करते हैं, तो आप इस चर या इसके परिवर्तनों का तुरंत उपयोग नहीं कर सकते। आपको उन प्रक्रियाओं को पुनरारंभ करना होगा जो इसका उपयोग करना चाहते हैं।

निम्न अनुक्रम का उपयोग इसे सीधे सेटिंग प्रक्रिया में सेट करने के लिए करें (मेरे लिए पूरी तरह से स्क्रिप्ट्स में काम करता है जो ग्लोबल इंवेस्टर्स सेट करने के बाद कुछ init stuff करते हैं :

SET XYZ=test
SETX XYZ test

धन्यवाद, यह मुझे पागल कर रहा था! CMD.EXE को एक सामान्य कंसोल की तरह व्यवहार करने के लिए सख्त अपग्रेड की आवश्यकता है ...!
साल्वाडोर वालेंसिया

मुझे यह नहीं मिलता है: मैं उन 2 लाइनों को कहाँ चलाऊँ?
Danijel

1
refreshenvनए चर का उपयोग करने के लिए आप setx का उपयोग करने के बाद भी कमांड निष्पादित कर सकते हैं ।
ब्रायनएचवीबी

@BrianHVB refreshenvएक कमांड के रूप में मान्यता प्राप्त नहीं है। क्या आप इसमें cmdया कर रहे हैं powershell? (संपादित करें: वास्तव में दोनों में परीक्षण किया गया, दोनों में से किसी में भी काम नहीं करता है)
14

@ बिग ऑप्स, आप सही कह रहे हैं। यह एक आदेश है जो चॉकलेट के स्थापित होने पर जोड़ा जाता है। मेरे पास मेरे सभी सिस्टमों में चॉकलेट है और जब तक मैंने इसे नहीं देखा तब तक इसका एहसास नहीं हुआ।
ब्रायनएचवीबी

2

XP के लिए, मैंने "RAPIDEE" (रैपिड एन्वायर्नमेंट एडिटर) नामक एक नि: शुल्क (डोनटवेयर) टूल का इस्तेमाल किया, लेकिन विन 7 के लिए SETX निश्चित रूप से पर्याप्त है (मुझे इस बारे में पहले नहीं पता था)।


2

सिस्टम चर को सीएमडी और रजिस्ट्री फॉर एक्स के माध्यम से सेट किया जा सकता है। reg क्वेरी "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v पथ

आमतौर पर उपयोग किए जाने वाले सभी सीएमडी कोड और सिस्टम चर यहां दिए गए हैं: सीएमडी का उपयोग करके विंडोज सिस्टम पर्यावरण चर सेट करें

CMD खोलें और सेट टाइप करें

आपको सिस्टम वेरिएबल के सभी मान मिल जाएंगे।

टाइप सेट जावा अपने विंडो ओएस पर स्थापित जावा की राह विवरण जानने के लिए।


1

बस अगर आपको एक वैरिएबल को हटाने की आवश्यकता होती है, तो आप http://barnyard.syr.edu/~vefatica पर उपलब्ध विन्सेन्ट फेटिका से SETENV का उपयोग कर सकते हैं । अभी हाल ही में नहीं ('98) लेकिन अभी भी विंडोज 7 x64 पर काम कर रहा है।


5
setx आपको मूल्य को खाली करने के लिए भी नष्ट करने की अनुमति देता है
स्टीव लॉयड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.