Как получить переменные Environnment и если что-то не хватает, задайте значение?Как получить и установить переменные среды в C#?
ответ
Используйте класс System.Environment.
Метод
System.Environment.GetEnvironmentVariable()
и
System.Environment.SetEnvironmentVariable()
будет делать работу за вас.
Это будет работать для переменной среды, которая является установкой машины. Для пользователей просто измените на пользователя.
String EnvironmentPath = System.Environment
.GetEnvironmentVariable("Variable_Name", EnvironmentVariableTarget.Machine);
Я столкнулся с этим во время работы над приложением .NET консоли для чтения переменной среды PATH, и обнаружил, что использование System.Environment.GetEnvironmentVariable автоматически увеличит переменные среды.
Я не хотел, чтобы это произошло ... это означает, что папки на пути, такие как «% SystemRoot% \ system32», переписывались как «C: \ Windows \ system32». Чтобы получить нерасширенный путь, я должен был использовать это:
string keyName = @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment\";
string existingPathFolderVariable = (string)Registry.LocalMachine.OpenSubKey(keyName).GetValue("PATH", "", RegistryValueOptions.DoNotExpandEnvironmentNames);
Работал как очарование для меня.
+1 Я должен был использовать это решение, потому что другой, на который ответил Патрик Дежардинс, потребовал, чтобы у меня были права администратора. Я смог прочитать значение переменной окружения без привилегий администратора с этим решением! –
Environment.SetEnvironmentVariable("Variable name", value, EnvironmentVariableTarget.User);
Если вы хотите, чтобы ваша переменная PATH была постоянной, используйте вместо нее «EnvironmentVariableTarget.Machine». –
Получить и Установить
Получить
string getEnv = Environment.GetEnvironmentVariable("envVar");
Набор
string setEnv = Environment.SetEnvironmentVariable("envvar", varEnv);
Я мог бы быть в состоянии обновить переменную окружения с помощью следующей
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);
- 1. Установить переменные среды в C
- 2. Установить локальные переменные среды в C++
- 3. Как установить переменные среды Gradle?
- 4. Установить переменные среды Windows
- 5. Как установить переменные среды в службе Supervisor
- 6. Как установить переменные среды в WAMP
- 7. Установить переменные среды в Counterclockwise
- 8. Как установить переменные среды в JBoss
- 9. Python: установить переменные из среды и получить их по имени
- 10. Переменные среды в C#
- 11. Получить системные переменные среды в C
- 12. Как установить переменные среды в Yosemite
- 13. Eclipse Breakpoint и получить переменные среды
- 14. Node.js - как установить переменные среды в коде
- 15. Как установить переменные среды в CoreOS
- 16. Как установить переменные среды в терминале Codenvy
- 17. Как установить переменные среды в tcl?
- 18. Как установить переменные среды в межплатформенном режиме?
- 19. Как установить переменные среды в оболочке рыбы
- 20. Как установить переменные производственной среды в django
- 21. Как установить переменные среды в Yosemite OSX?
- 22. Как установить переменные среды в apache xampp?
- 23. Как установить переменные среды в make-файле?
- 24. Spark + Python - как установить переменные системной среды?
- 25. Как установить переменные среды Linux с Ansible
- 26. Как установить в android studio переменные среды JDK_HOME и JAVA_HOME?
- 27. Как хранить переменные среды
- 28. Получить переменные среды, используя код C
- 29. Как установить переменные среды из Java?
- 30. Установить переменные среды с кукольным
отметить также необязательный третий параметр: System.Environment.SetEnvironmentVariable (переменная, значение, ** EnvironmentVariableTarget **) Возможные значения: * машина *, * Процесс * и * Пользователь * –
ли ' EnvironmentVariableTarget.Machine' требует доступа администратора? – checksum
Да, это так. Попытка запустить его без этого приведет к очевидному исключению. –