英文:
Modify part of the JAVA_HOME folder path using powershell
问题
我有一个应用程序,希望Windows的JAVA_HOME变量中不包含空格。<br/>
我想要一个高效的PowerShell脚本来获取当前文件夹路径,即<br/>
"C:\program files\java\java.versionxxxx",仅将"program files"转换为"progra~1",并相应地更新环境变量。
英文:
I have an application that wants the Windows JAVA_HOME variable not to contain spaces. <br/>
I would like an efficient PS script to get the current folder path i.e. <br/>
"C:\program files\java\java.versionxxxx", convert only "program files" to "progra~1" and update the environment variable accordingly.
答案1
得分: 1
这应该能解决问题:
$newPath = $ENV:JAVA_HOME.replace('Program Files','Progra~1')
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "$NewPath", [System.EnvironmentVariableTarget]::Machine)
如果要修改系统环境变量,需要本地管理员访问权限。如果更改是针对特定用户配置文件的,则将 ::Machine 更改为 ::User。
英文:
This should do the trick
$newPath = $ENV:JAVA_HOME.replace('Program Files','Progra~1')
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "$NewPath", [System.EnvironmentVariableTarget]::Machine)
You need local administrator access to modify Machine environment variable. Change ::machine into ::user if the change is for a specific user profile
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论