【发布时间】:2018-12-14 22:54:19
【问题描述】:
我在 Windows 10 上添加了LOG_LEVEL 作为系统环境变量,并将其值设置为INFO。
然后(仅在按下 OK 并关闭该窗口后),我打开了一个命令行终端并输入了echo %LOG_LERVEL%,它打印了...%LOG_LEVEL%。
当我在添加我之前已经存在的环境变量上尝试相同的环境变量时,例如 - echo %OS%,它会打印 Windows_NT。
现在,我尝试在几个不同的路径中关闭并重新打开命令行终端。
在其中一个(我现在无法重现)中,该命令确实打印了INFO(我的变量的值)。
当我使用 Power Shell(微软在上次更新时将新的命令行终端插入我的系统,迫使旧的命令行从上下文菜单中消失)尝试同样的事情时,情况更糟,因为它既不能识别我添加的变量,也不能识别之前存在的其他变量。
对于上面的相同示例,echo %OS% 打印 %OS%。
这是怎么回事?
【问题讨论】:
-
PowerShell 与命令行完全不同。不要期望环境变量以相同的方式工作。它们是从
Env:提供者访问的。 -
@Phylogenesis:谢谢,但 Power Shell 只是第一次失败后的又一次尝试。我的主要问题是它甚至在旧的命令行终端中都不起作用。因此,如果您能为旧的命令行终端提出解决方案,我将不胜感激。谢谢。
-
如果您有一个打开的
cmd.exe或 PowerShell 窗口并使用 GUI 设置环境变量,则更改不会传播到打开的窗口。您必须重新启动cmd.exe或 PowerShell 窗口才能看到新变量。 -
顺便说一句,你的问题还是太啰嗦了。请注意对您之前的问题所做的修改,并编写更简洁的新问题。
-
@goodvibration 要回答您关于“我们”的问题,它是guidances given on how to use this network of sites 之一。为了让以后遇到问题的其他人更容易,无论他们是来回答这个问题还是找到类似问题的答案,帖子应该尽可能简短,同时仍然包含所有必要的信息。这意味着应该避免使用“请”和“谢谢”;坚持主题,让人们回答。 There is no chit-chat.
标签: windows powershell command-line environment-variables echo