Batch - Echo oder Variable funktioniert nicht

70

Ich habe dieses kleine Batch-Skript:

SET @var = "GREG"
ECHO %@var%
PAUSE

Wenn ich es starte, wird Folgendes gedruckt:

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

H:\Dynamics>ECHO
ECHO is on.

H:\Dynamics>PAUSE
Press any key to continue . . .

Warum wird der Inhalt von @var nicht gedruckt? Woher weiß ich, ob @var überhaupt gesetzt wird?

Greg
quelle

Antworten:

153

Verwenden Sie keine Leerzeichen:

SET @var="GREG"
::instead of SET @var = "GREG"
ECHO %@var%
PAUSE
tcooc
quelle
2
% @ var% funktioniert nicht, es ist% var% (zumindest unter Windows 10)
nasch
24

Versuchen Sie, die folgenden (beachten Sie, dass es keinen Raum zwischen den sein sollte VAR, =und GREG).

SET VAR=GREG
ECHO %VAR%
PAUSE
Jonathan Stanton
quelle
21
das erinnert mich an eine Geschichte. Ein Mann war angeheuert worden, um ein Schild für einen Fisch- und Chipsladen zu malen. Der Besitzer war mit dem Ergebnis unzufrieden und sagte, "es muss mehr Platz zwischen Fisch und und und und und Chips geben".
Lockstock
3
Ich verstehe es nicht
erklären, dass