在powershell或cmd中读取环境variables会产生不同的结果

Windows 7环境variables的问题上我一直困惑。

我们有一个jenkins服务器,它无法在%HOME%环境variables中findSSH密钥,因为它想访问path:

/c/users/jenkins 

但是,如果我使用

 echo %HOME% 

在一个正常的命令提示符窗口作为我jenkins用户那么结果是

 C:\users\jenkins 

但是,如果我在Windows PowerShell中使用env命令,我也会得到

 /c/user/jenkins 

在从系统属性 – 高级标记 – >环境可访问的正常GUI中,我得到以下内容

 C:\users\jenkins 

我试图设置它们,但问题依然存在。 只要jenkins获得与PowerShell相同的输出。

我的问题是我如何设置他们回来? (不是说CMD和Windows系统认为他们设置错了)如何访问相同的环境variables给我不同的输出? 有谁知道这可能发生的一种方式? 有谁知道他们在哪里存储,所以我可以手动编辑他们存储的位置?

提前致谢。

正如@Luis的评论中提到的那样, env命令不是Powershell的一部分。 它可能由您安装的一些其他实用程序提供,旨在模拟Linux env命令 。

要在Powershell中引用环境变量,请使用$env:<variable-name>语法或环境提供程序 – Get-Content env:\<variable-name>

要设置环境变量,可以使用$env:<variable-name> = "<variable-value>"

有关更多信息,请尝试在PowerShell中运行help about_Environment_Variables