【问题标题】:How to set a variable equal to the contents of another variable?如何设置一个变量等于另一个变量的内容?
【发布时间】:2011-12-02 21:38:54
【问题描述】:

在以下(简化示例)批处理文件中,我很难正确设置 Y

@Echo off
setlocalenabledelayed Expansion
set EqS=Nope
set X=Eq
set Y=%X%S 
echo Y

如何让这个脚本的输出为Nope 而不是EqS

【问题讨论】:

  • 您的意思是您希望Y 成为指向EqS 的指针还是您希望Y 包含字符串“EqS”或者您希望Y 具有与@ 相同的值987654329@?
  • 目前这将为我呼应 EqS。我想要它回应的是不。
  • 目前您的脚本将为您回显Y,对于Nope,您可以使用我的答案中的%Y2%
  • @KarlBielefeldt:OP 的问题很明确:他想知道最后一个echo 命令如何显示Nope。在我看来,你的问题只会让他感到困惑,而不是帮助他......
  • @Aacini,我在编辑前问了这个问题。之前还挺暧昧的。

标签: variables batch-file variable-assignment


【解决方案1】:

正如 Karl 所问,您的问题可能有不同的含义。
我尝试为每种可能性给出一个答案

@echo off
setlocal EnableDelayedExpansion
set EqS=Nope
set X=Eq

REM set Y1 to "EqS" 
set Y1=%X%S 

REM set Y2 to "Nope" (content of EqS)
set Y2=!%X%S!

REM set Y3 to "!EqS!"
set Y3=^^!%X%S^^!

echo %Y1%
echo %Y2%
echo %Y3%
set EqS=Something
echo(
echo Text %Y1%
echo Content %Y2%
echo Pointer %Y3%

【讨论】:

    猜你喜欢
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2019-07-14
    • 1970-01-01
    • 2015-11-04
    • 2022-01-10
    • 2020-05-01
    相关资源
    最近更新 更多