Cmd.exe 2 verschachtelte For - Schleifen

Ich will mit einer batch aus einer Datei der Reihe nach alle Werte auslesen. Jeder ausgelesene Wert soll aber zwischendurch ebenfalls mit einer for Schleife in 2 Bestandteile zerlegt werden und in jeweils eine Variable
gespeichert werden.

Die Liste.txt sieht so aus (@ ist Trennzeichen): Anton@Hausaufgaben
Berta@123-45
Cecilie-Sophie@Wald-Bröhl
.
.
.

Ich kann die Liste mit folgendem Kommando in der Batch auslesen
FOR /f „usebackq delims==“ %%a IN (liste.txt) DO echo %%a
und erhalte als erstes folgende Ausgabe: Anton@Hausaufgaben.

Diese soll mit einer 2. for- Schleife am Trennzeichen in seine beiden Bestandteile zerlegt werden.
FOR /F „tokens=1,2 delims=@“ %%G IN (%STRING%) DO set TEIL1=%%G & set TEIL2=%%H
echo Teil 1 ist %Teil1%, Teil 2 ist %Teil2%
also Ausgabe Teil 1 ist Anton , Teil 2 ist Hausaufgaben

Danach liest die erste for-Schleife den nächsten Wert aus der Liste und die zweite for-Schleife trennt ihn wieder in die Bestandteile.

Während jede for-Schleife für sich funktioniert, bekomme ich sie nicht verkettet, irgendwie klappt die Parameterübergabe nicht.

Kann mir jemand eine Lösung vorschlagen?

Danke