批处理 - 回声或变量不工作

Gre*_*reg 65 windows batch-file

我有这个小批量脚本:

SET @var = "GREG"
ECHO %@var%
PAUSE
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它打印:

H:\Dynamics>SET @var = "GREG"

H:\Dynamics>ECHO
ECHO is on.

H:\Dynamics>PAUSE
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

为什么不打印@var的内容?我怎么知道@var是否被设置?

tco*_*ooc 142

不要使用空格:

SET @var="GREG"
::instead of SET @var = "GREG"
ECHO %@var%
PAUSE
Run Code Online (Sandbox Code Playgroud)

  • %@ var%不起作用,它是%var%(至少在Windows 10上是) (2认同)

Jon*_*ton 23

试试下面的(请注意,不应该是之间的空间VAR,=GREG).

SET VAR=GREG
ECHO %VAR%
PAUSE
Run Code Online (Sandbox Code Playgroud)

  • 这让我想起了一个故事.一名男子被雇用为鱼和薯条店画一个标志.业主对结果感到不满,他说"鱼和鱼和薯片之间需要有更多的空间". (17认同)
  • “鱼”和“和”之间以及“和”和“薯条”之间需要有更多的空间。 (5认同)
  • 我不明白. (3认同)
  • @youcantexplainthat答案就在这里-[有些尴尬的发音示例,但语法正确吗?](https://english.stackexchange.com/questions/2459/what-are-some-examples-of-awkward-sounding-但语法正确的句子/ 2672#2672) (2认同)