我有一个小批处理脚本:
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"
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
之间不应有空格)。
SET VAR=GREG
ECHO %VAR%
PAUSE
我刚接触编程,也许在变量声明的末尾尝试加上分号?
SET @var="GREG":
ECHO %@var%
PAUSE
=
周围的空格(如13年前已经回答的那样)。 - Stephan
%@var%
不能工作?@
可以像字母一样出现在变量名中,即使在Windows 10中也是如此。(只有当@
位于命令行开头时,才具有特殊意义,并定义为不将其显式输出...) - aschipfl