GetEnvironmentVariable () e SetEnvironmentVariable () para PATH Variable

Quero estender a variável PATH atual com um programa C #. Aqui eu tenho vários problemas:

UsingGetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine) substitui os espaços reservados (ou seja,'%SystemRoot%\system32' é substituído pelo caminho atual'C:\Windows\system32'). Atualizando a variável PATH, não quero substituir o espaço reservado pelo caminh

Depois deSetEnvironmentVariable nenhum programa não pode mais ser aberto na caixa de comando (ou seja, calc.exe na caixa de comando não funciona). Estou usando o seguinte código:

String oldPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("PATH", oldPath + ";%MYDIR%", EnvironmentVariableTarget.Machine);

Após editar e alterar oPATH variável no Windows, tudo funciona novamente. (São necessárias alterações, caso contrário não será sobrescrito)

questionAnswers(6)

yourAnswerToTheQuestion