【问题标题】:Are environment variables associative?环境变量是关联的吗?
【发布时间】:2012-11-16 03:57:14
【问题描述】:

在 Windows 7 中,如果您在命令行中执行以下操作:

X=Debug

Y=ABC\%X%

那么……

X=Release

Y=?

【问题讨论】:

  • 为什么不自己输入看看呢?

标签: windows variables batch-file environment


【解决方案1】:

在 Windows 上:

set X=Debug
set Y=ABC\%X%
X=Release
echo %Y%

打印:

ABC\DEBUG'

这是发生的事情,一步一步:

set X=Debug

环境变量X设置为值'Debug'

set Y=ABC\%X%

变量扩展将命令转换为:

set Y=ABC\Debug

并且这个命令被执行。 XY 之间不保留任何关联。

set X=Release

Y没有影响

echo %Y%

显示:

ABC\Debug

【讨论】:

  • +1 我完全看错了问题,下次我应该仔细阅读:)
  • 如果他们有办法让他们联想起来会很酷,会节省一些努力
  • @SeeknInspYre:尝试查找“setlocal EnableDelayedExpansion”,它可能就是您所追求的。
  • @user786653,我认为这不会有帮助。它只是改进了扩展规则,因此分组语句可以正常使用 e-vars,等等。
  • @SeeknInspYre,您只需在需要的地方重复 set Y=ABC\%X%
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 2014-09-30
  • 2018-09-18
  • 2022-01-24
  • 2019-03-01
相关资源
最近更新 更多