Ich habe eine Batch-Datei, die Variablen über SET innerhalb einer for-Schleife für eine Reihe von Dateien auf der Festplatte initialisiert:
for %%f in (%MYTARGETDIR%\*config.xml) do (
SET TMPFILE=%%F.tmp
echo In loop %TMPFILE%
)
echo End loop %TMPFILE%
Wenn ich dies in einer brandneuen Befehlsshell ausführe (ohne definiertes TMPFILE), ist das In-Loop-Echo leer, das End-Loop-Echo jedoch nicht.
Wenn ich ein zweites Mal ausführe, ist der Wert bereits gesetzt und wird ausgegeben, wobei der Satz ignoriert wird, bis die Schleife geschlossen ist.
Haben Sie eine Idee, warum das so ist und wie man es umgehen kann?