আমি কীভাবে সি # তে পরিবেশের ভেরিয়েবলগুলি সেট করব এবং সেট করব?


উত্তর:


256

সিস্টেম.এনভায়রনমেন্ট ক্লাসটি ব্যবহার করুন ।

পদ্ধতিগুলি

var value = System.Environment.GetEnvironmentVariable(variable [, Target])

এবং

System.Environment.SetEnvironmentVariable(variable, value [, Target])

আপনার জন্য কাজ করবে।

ঐচ্ছিক প্যারামিটার Targetপ্রকারের একটি enum হয় EnvironmentVariableTargetএবং এটি একটি হতে পারে: Machine, Process, অথবা User। যদি আপনি এটি বাদ দেন তবে ডিফল্ট লক্ষ্য হ'ল বর্তমান প্রক্রিয়া।


37
এছাড়াও মনে রাখবেন ঐচ্ছিক তৃতীয় পরামিতি: System.Environment.SetEnvironmentVariable (পরিবর্তনশীল, মান, EnvironmentVariableTarget ) সম্ভাব্য মান হল: মেশিন , প্রক্রিয়া এবং ব্যবহারকারী
Lessan Vaezi

1
নেই EnvironmentVariableTarget.Machineপ্রশাসক অ্যাক্সেস করতে?
চেকসাম

হ্যাঁ এটা করে. এটি ছাড়াই চালানোর চেষ্টা করলে একটি সুস্পষ্ট ব্যতিক্রম হবে।
এরেজ এ। কর্ন

30

PATH এনভায়রনমেন্ট ভেরিয়েবলটি পড়তে .NET কনসোল অ্যাপ্লিকেশনটিতে কাজ করার সময় আমি এটির মধ্যে দৌড়ে এসেছি এবং দেখেছি যে System.EnLive.GetEniversityVariable ব্যবহার করে পরিবেশের পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে প্রসারিত হবে।

আমি এটি ঘটতে চাইনি ... তার মানে '% সিস্টেমরूट% \ system32' এর মতো পথের ফোল্ডারগুলি 'সি: \ উইন্ডোজ \ সিস্টেম 32' হিসাবে পুনরায় লেখা হচ্ছে। আন-প্রসারিত পথটি পেতে, আমাকে এটি ব্যবহার করতে হয়েছিল:

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

আমার জন্য একটি কবজ মত কাজ।


7
+1 আমাকে এই সমাধানটি ব্যবহার করতে হয়েছিল কারণ প্যাট্রিক দেসজার্ডিনস উত্তর দেওয়া অন্য একটিটির জন্য আমাকে প্রশাসনের সুযোগ সুবিধা থাকা দরকার। এই সমাধানটির সাথে অ্যাডমিন সুবিধা না পেয়ে আমি পরিবেশের পরিবর্তনশীলটির মান পড়তে সক্ষম হয়েছি!
টোনো নাম

@ টোননাম প্যাট্রিকের উত্তর প্রশাসনিক সুযোগ-সুবিধা ছাড়াই আমার মেশিনে কাজ করে । নোট করুন যে সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল সেট করার জন্য অ্যাডমিন সুবিধা (অবশ্যই) প্রয়োজন হয় না।
ফ্র্যাঙ্কলিন ইউ

16

পান এবং সেট করুন

পাওয়া

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

সেট

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

14

এটি এমন পরিবেশের পরিবর্তনশীলের জন্য কাজ করবে যা মেশিন সেটিং। ব্যবহারকারীদের জন্য, পরিবর্তে কেবল ব্যবহারকারীতে পরিবর্তন করুন।

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


0

আমি নিম্নলিখিত ব্যবহার করে পরিবেশ পরিবর্তনশীল আপডেট করতে সক্ষম হতে পারে

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);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.