电源外壳:设置环境变量加倍



下面的代码试图更改环境变量PATH,但不幸的是字符串加倍了:

块引用 C:\Windows;C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\; C:\Windows;C:\Windows\system32;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\; C:\Users\Arthur\AppData\Local\Programs\Microsoft VS Code\bin;;C:\LJ\jdk-13\bin 块引用

的 ';C:\LJ\jdk-13\bin' 是我想添加的唯一字符串

你知道错误在哪里吗? 谢谢

$zip =  [io.compression.zipfile]::OpenRead($jdkDownloadPathName).Entries
$jdkFolder = (($zip | Where-Object FullName -match '/' | Select-Object -First 1).Fullname -Split '/')[0]
$jdkInstallFolder ="$($installJavaAntPath)$($jdkFolder)"
$PATH = $env:Path
$PATH += ";" + $jdkInstallFolder +"bin"
Set-EnvironmentVariable -name PATH -Value $PATH -Target User 
Set-EnvironmentVariable -name JAVA_HOME -Value $jdkInstallFolder -Target User
function Set-EnvironmentVariable
{
param
(
[Parameter(Mandatory=$true)]
[String]
$Name,
[Parameter(Mandatory=$true)]
[String]
$Value,
[Parameter(Mandatory=$true)]
[EnvironmentVariableTarget]
$Target
)
[System.Environment]::SetEnvironmentVariable($Name, $Value, $Target)
}    
$PATH = [System.Environment]::GetEnvironmentVariable('PATH', [System.EnvironmentVariableTarget]::User)
$PATH += ";" + $jdkInstallFolder +"bin"
[System.Environment]::SetEnvironmentVariable('PATH',$PATH, [System.EnvironmentVariableTarget]::User)

我已经明白了,谢谢@Lee_Dailey!