Ü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 set
Befehls 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 test
nicht 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