2008-10-08 19 views

उत्तर

192

सिस्टम का उपयोग करें। पर्यावरण वर्ग।

विधि

System.Environment.GetEnvironmentVariable() 

और

System.Environment.SetEnvironmentVariable() 

आप के लिए काम करेगा।

+33

इसके अलावा वैकल्पिक तीसरे पैरामीटर ध्यान दें EnvironmentVariableTarget.Machine' को प्रशासक पहुंच की आवश्यकता है? –

+1

करता है '

string EnvPath = System.Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine) ?? string.Empty; if (!string.IsNullOrEmpty(EnvPath) && !EnvPath .EndsWith(";")) EnvPath = EnvPath + ';'; EnvPath = EnvPath + @"C:\Test"; Environment.SetEnvironmentVariable("PATH", EnvPath , EnvironmentVariableTarget.Machine); 
checksum

+0

हां, यह करता है। इसके बिना इसे चलाने की कोशिश कर एक स्पष्ट अपवाद होगा। –

8

यह एक पर्यावरण चर के लिए काम करेगा जो मशीन सेटिंग है। उपयोगकर्ताओं के लिए, बस इसके बजाय उपयोगकर्ता में बदलें।

String EnvironmentPath = System.Environment 
       .GetEnvironmentVariable("Variable_Name", EnvironmentVariableTarget.Machine); 
30

मैं इस समय एक .NET कंसोल अनुप्रयोग पर काम कर रहा पथ वातावरण चर को पढ़ने के लिए में भाग, और पाया कि System.Environment.GetEnvironmentVariable का उपयोग कर वातावरण चर स्वचालित रूप से विस्तार होगा।

मैं ऐसा नहीं करना चाहता था ... इसका मतलब है कि '% SystemRoot% \ system32' जैसे पथ में फ़ोल्डरों को 'सी: \ विंडोज \ system32' के रूप में फिर से लिखा जा रहा था। अन-विस्तारित पथ प्राप्त करने के लिए, मुझे इसका उपयोग करना पड़ा:

string keyName = @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment\"; 
string existingPathFolderVariable = (string)Registry.LocalMachine.OpenSubKey(keyName).GetValue("PATH", "", RegistryValueOptions.DoNotExpandEnvironmentNames); 

मेरे लिए एक आकर्षण की तरह काम किया।

+5

+1 मुझे इस समाधान का उपयोग करना पड़ा क्योंकि पैट्रिक Desjardins द्वारा उत्तर दिया गया दूसरा मुझे प्रशासन विशेषाधिकार रखने की आवश्यकता है। मैं इस समाधान के साथ व्यवस्थापक विशेषाधिकारों के बिना पर्यावरण चर के मूल्य को पढ़ने में सक्षम था! –

6
Environment.SetEnvironmentVariable("Variable name", value, EnvironmentVariableTarget.User); 
+1

यदि आप चाहते हैं कि आपके पाथ वैरिएबल को स्थायी रूप से 'EnvironmentVariableTarget.Machine' का उपयोग करें। –

6

जाओ और सेट

जाओ

string getEnv = Environment.GetEnvironmentVariable("envVar"); 

सेट

string setEnv = Environment.SetEnvironmentVariable("envvar", varEnv); 
0

मैं निम्नलिखित

+०१२३५१६४१०६ का उपयोग करके वातावरण चर का अद्यतन करने में सक्षम हो सकता है System.Environment.SetEnvironmentVariable (चर, मूल्य, ** EnvironmentVariableTarget **) संभावित मान हैं:: मशीन *, * प्रक्रिया * और * उपयोगकर्ता *
संबंधित मुद्दे