Ich habe eine Batch-Datei, die für Schleife in einer Variablen über SET initialisiert, für eine Reihe von Dateien auf der Festplatte:Batch-Datei Variablen in einem for-Schleife initialisiert
for %%f in (%MYTARGETDIR%\*config.xml) do (
SET TMPFILE=%%F.tmp
echo In loop %TMPFILE%
)
echo End loop %TMPFILE%
wenn ich laufe dies in einem ganz neuen Befehl Shell (ohne TMPFILE definiert) das In-Loop-Echo ist leer, das End-Loop-Echo jedoch nicht.
Wenn ich ein zweites Mal ausgeführt, ist es bereits festgelegt, und gibt den Wert aus, ignoriert den Satz, bis die Schleife schließt.
Ideen warum ist das, und was ist die Problemumgehung?
Danke, ich sah gerade setlocal ENABLEDELAYED EXPANSION – theschmitzer