Normalerweise ruft %var%
den Wert var
ab.
Innerhalb eines code block
(a parenthesised Reihe von Linien), werden %var%
durch den Wert von var
ersetzt werden, wenn die Anweisung, um den Block Aufruf (a for
oder if
) angetroffen wurde, nicht der Wert von var
da es aufgrund variiert die Operation des Blocks (der run-time
Wert).
Wenn delayedexpansion
aufgerufen wird, kehrt %var%
noch die ursprüngliche, parse-time
Wert, aber !var!
gibt den Wert der run-time
, also in diesem Fall filename
jeden Wert von %%x
hat, um es als Schleifen verläuft angefügt. (Achtung: Es gibt eine Grenze von ~ 8180 Zeichen in einer Stapelvariablen [tatsächlich 8191-Länge von Variablenname])