Windows 批处理-回显或变量不工作

Windows 批处理-回显或变量不工作,windows,batch-file,Windows,Batch File,我有一个小批量脚本: SET @var = "GREG" ECHO %@var% PAUSE 当我运行它时,它会打印: H:\Dynamics>SET @var = "GREG" H:\Dynamics>ECHO ECHO is on. H:\Dynamics>PAUSE Press any key to continue . . . 为什么它不打印@var的内容?我如何知道是否设置了@var?不要使用空格: SET @var="GREG" ::instead of S

我有一个小批量脚本:

SET @var = "GREG"
ECHO %@var%
PAUSE
当我运行它时,它会打印:

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

H:\Dynamics>ECHO
ECHO is on.

H:\Dynamics>PAUSE
Press any key to continue . . .
为什么它不打印@var的内容?我如何知道是否设置了@var?

不要使用空格:

SET @var="GREG"
::instead of SET @var = "GREG"
ECHO %@var%
PAUSE
尝试以下操作(请注意,
VAR
=
GREG
之间不应存在空格)


这让我想起了一个故事。一个人被雇来为一家炸鱼薯条店画招牌。店主对结果很不满意,他说“鱼和薯条之间需要更多的空间”。我不明白。@你可以解释答案是-%@var%不起作用它是%var%(至少在Windows 10上)
SET VAR=GREG
ECHO %VAR%
PAUSE