批处理-回声或变量不起作用


70

我有这个小批处理脚本:

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是否被设置?

Answers:


153

不要使用空格:

SET @var="GREG"
::instead of SET @var = "GREG"
ECHO %@var%
PAUSE

2
%@ var%不起作用,它是%var%(至少在Windows 10上如此)
Nasch

24

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

SET VAR=GREG
ECHO %VAR%
PAUSE

21
那使我想起一个故事。一个人被雇用为一家炸鱼和薯条店画一个招牌。船东对结果不满意,他说:“鱼和鱼与鱼和薯条之间需要有更大的空间”。
锁定

3
我不明白
youcantexplainthat

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.