Batchprogrammierung: Wie funktioniert der FOR %% Befehl im Batch?

FOR /F „tokens=1,2 delims=;“ %%A IN (zeilen.txt) DO CALL writexml.cmd %%A %%B

Und wie soll man es verstehen?

Hier zur Erklärung. im Verzeichis des Batches liegt eine Steuerdatei zeilen.txt. Sie enthält viele Zeilen, pro Zeile wurden jeweils 2 Werte getrennt mit einem Semikolon eingetragen:

www.clearblue-forum.de;http://www.9monate.de/
www.clearblueforum.de;http://www.9monate.de/
www.clearplan-forum.de;http://www.9monate.de/
www.clearplanforum.de;http://www.9monate.de/
www.kind-ratgeber.de;http://www.9monate.de/
www.kindratgeber.de;http://www.9monate.de/

Wir möchten aus jeder Zeile die beiden Werte herauslesen und an einen anderen Batch weitergeben.

FOR
wiederholt etwas …

/F
wiederholt es mit mehreren Zeilen einer „Steuerdatei“

tokens=1,2

arbeitet mit den ersten 2 Spalten

delims=;

Ein Semikolon trennt die Spalten

%%A

Ist der Wert aus der ersten Spalte. Wenn man hier %%A angibt, gilt er als ein „alfabetischer“ Startwert. Die Nachfolgenden Werte werden intern als %%B, %%C … usw .. verarbeitet.

IN

Suche in…

zeilen.txt

Name der Steuerdatei

DO

Befehl zum Ausführen …

CALL writexml.cmd

Führe die writexml.cmd aus …

%%A %%B

und übergebe die beiden Parameter (die beiden Werte) als %1 und %2 an den Batch.