Я пытаюсь изменить переменную среды System Path, выполнив следующие действия.К сожалению, я наблюдаю, что если я жестко закодирую строку, она работает, но я использую переменную (что я бы предпочел сделать), она не работает.
Я не получаю ошибок;это просто не работает.Вот мой код:
$GlobalEnvPath = "C:\Path\ToApp\"
$CurrentEnvPath = [System.Environment]::GetEnvironmentVariable('PATH','Machine')
If ($CurrentEnvPath –match ".+?\;$") { $CurrentEnvPath = $CurrentEnvPath –replace ".{1}$" } #Sanitize the acquired string to remove any trailing semi-colons
$TempNewEnvPath = $CurrentEnvPath.Replace("$GlobalEnvPath",$null) #Find and replace the installation directory with a null value
$NewEnvPath = $TempNewEnvPath.Replace(";;",$null) #Find and replace any double semi-colons that may be present
[System.Environment]::SetEnvironmentVariable('PATH',$NewEnvPath,'Machine') #Finally, let’s write our changes back to the system registry
Часть, с которой у меня возникают проблемы:
$TempNewEnvPath = $CurrentEnvPath.Replace("$GlobalEnvPath",$null)
Любая помощь будет очень признательна, спасибо.