当前位置:  开发笔记 > 编程语言 > 正文

在Windows PowerShell中设置环境变量

如何解决《在WindowsPowerShell中设置环境变量》经验,为你挑选了1个好方法。

我无法从CMD复制此命令 set APPDATA=D:\.

我拥有的最好的等价物是Set-Variable -Name $env:APPDATA -Value D:\.这不起作用!

完整的脚本是:

set APPDATA=D:\
start java -jar D:\.minecraft\minecraft.jar

这样就设置了Java D:\,.minecraft而不是APPDATA.

完整的PowerShell版本(不能正常工作)是:

& Set-Variable -Name $env:APPDATA -Value D:\
& 'C:\Program Files\Java\jre1.8.0_66\bin\java.exe' -jar D:\.minecraft\Minecraft.jar

它仍然看着只读版本$env:APPDATA.我不明白为什么它不能在shell的会话的运行环境中更改,比如cmd和大多数*nix shell!

我敢肯定,这是你的更多的用途比刚刚运行的Minecraft.:P



1> Eris..:

当您使用Set-Variable-Name说法应该具有美元符号($).

# WRONG: Set's the variable using the name stored in ENV:APPDATA
Set-Variable -Name $env:APPDATA -Value D:\

此外,Set-Variable似乎没有像环境变量预期的那样工作.我假设这是因为Set-Variable它专门设计用于Variable:变量提供程序,而不是env:环境提供程序.(我在本地验证了这一点,Set-Variable -Name ENV:AppData -Value "foo"Variable:提供程序中使用了一个名为'ENV:AppData'的变量.)

备选方案1(简单格式):

$ENV:AppData="D:\"
& 'C:\Program Files\Java\jre1.8.0_66\bin\java.exe' -jar D:\.minecraft\Minecraft.jar

备选方案2(使用C#API):

[Environment]::SetEnvironmentVariable("APPDATA", "D:\")

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有