Я хочу расширить текущую переменную PATH с помощью программы на С#. Здесь у меня есть несколько проблем:
-
Использование
GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine)
заменяет заполнители (т.е.'%SystemRoot%\system32'
заменяется текущим путем'C:\Windows\system32'
). Обновление переменной PATH, я не хочу заменять местозаполнитель пути. -
После
SetEnvironmentVariable
программа больше не может быть открыта из командной строки (т.е. calc.exe в командной строке не работает). Im используя следующий код:
String oldPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("PATH", oldPath + ";%MYDIR%", EnvironmentVariableTarget.Machine);
После редактирования и изменения переменной PATH
с Windows все работает снова. (Мне нужны изменения, в противном случае они не перезаписываются)