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?

Antworten:


153

Verwenden Sie keine Leerzeichen:

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

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.