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