使用powershell修改部分JAVA_HOME文件夹路径

Modify part of the JAVA_HOME folder path using powershell

我有一个应用程序希望 Windows JAVA_HOME 变量不包含空格。
我想要一个高效的 PS 脚本来获取当前文件夹路径,即
"C:\program files\java\java.versionxxxx",仅将 "program files" 转换为 "progra~1" 并相应地更新环境变量。

这应该可以解决问题

$newPath = $ENV:JAVA_HOME.replace('Program Files','Progra~1')

[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "$NewPath", [System.EnvironmentVariableTarget]::Machine)

您需要本地管理员权限才能修改机器环境变量。如果更改是针对特定用户个人资料,则将 ::machine 更改为 ::user