warum wird in Windows nicht „Test = was auch immer“ gesetzt?

warum wird in Windows nicht „Test = was auch immer“ gesetzt?

Über ein *.cmd-Skript führe ich es set "test = zzz"in der Befehlszeile aus und "echo %test%"erhalte dann nicht zzz, wie erwartet, das folgende Echo, sondern das folgende %test%.

Irgendwelche Ideen?

Antwort1

Ihr Aufruf des setBefehls funktioniert tatsächlich, bewirkt aber nicht das erwartete Ergebnis.

Die Eingabeaufforderung behandelt die Leerzeichen um das Gleichheitszeichen ( =) wörtlich. Als Ergebnis wird die Befehlsfolge

set test = zzz
echo %test%
echo %test %

druckt folgendes:

%test%
 zzz

Da die Variable testnicht gesetzt ist, %test%wird sie nicht ersetzt.

Antwort2

Vor oder nach dem Gleichheitszeichen dürfen keine Leerzeichen stehen. Versuchen Sie stattdessen Folgendes:

 set test=zzz
 echo %test%

Antwort3

Die Leerzeichen müssen weggelassen werden

Ich benutzte:

set "test=zzz"

und wenn ich echo %test%es verwende, wird angezeigtzzz

verwandte Informationen