Windows 在PowerShell或cmd中读取环境变量会产生不同的结果

Windows 在PowerShell或cmd中读取环境变量会产生不同的结果,windows,environment-variables,Windows,Environment Variables,我一直在思考Windows7环境变量的问题 我们有一个Jenkins服务器,它无法在%HOME%环境变量中找到SSH密钥,因为它想要访问路径: /c/users/jenkins 但是如果我使用 echo %HOME% 在一个普通的命令提示符窗口中,作为我的Jenkins用户,结果是 C:\users\jenkins 但是,如果我在Windows PowerShell中使用environment命令,我也会 /c/user/jenkins 在可以从系统属性-高级标签->环境中访问的普通GU

我一直在思考Windows7环境变量的问题

我们有一个Jenkins服务器,它无法在
%HOME%
环境变量中找到SSH密钥,因为它想要访问路径:

/c/users/jenkins
但是如果我使用

echo %HOME%
在一个普通的命令提示符窗口中,作为我的Jenkins用户,结果是

C:\users\jenkins
但是,如果我在Windows PowerShell中使用environment命令,我也会

/c/user/jenkins
在可以从系统属性-高级标签->环境中访问的普通GUI中,我得到以下信息

C:\users\jenkins
我试着让他们后退,但问题依然存在。只要Jenkins获得与PowerShell相同的输出

我该如何让他们退后?(并非cmd和Windows系统认为它们设置错误。) 访问同一个环境变量究竟是如何给我不同的输出的? 有没有办法做到这一点?
它们存储在哪里,以便我可以手动编辑它们的存储位置?

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

要在PowerShell中引用环境变量,请使用
$env:
语法或环境提供程序-
获取内容env:\

要设置环境变量,可以使用
$env:=“”


有关详细信息,请尝试在PowerShell中运行
关于\u环境\u变量的帮助

env不是常规的Windows/PowerShell命令,它必须安装在machineThanks中的其他位置,不幸的是,同事一夜之间重新启动了机器,问题已消失。我将密切关注这种情况再次发生,但感谢您的帮助。非常遗憾,机器昨晚重新启动,自那以后,问题一直没有出现。我更喜欢追根究底,所以很遗憾我无法进一步调查。