"ECHO %foo%" 与“%foo%”的环境变量值之间的差异

Difference between environment variable value for "ECHO %foo%" versus "%foo%"

有什么区别

ECHO %foo%

而且只是

%foo%

在我的例子中,第一个打印 x,第二个打印 y,其中 "correct" 值,我想通过 Environment.GetEnvironmentVariable("foo") 返回的值是ECHO编辑了一个,x

我不知道如何将 y 修正为 x。当我运行

SET

明白了

foo=x

这是我所期望的。 y 来自哪里?

ECHO %foo% 调用 ECHO 命令输出 foo 环境变量的值。

%foo% 调用由在当前目录或您的路径中找到的 foo 环境变量命名的命令。

您可能会看到 y,因为命令 x 会输出它。