¿Cómo consigo que un bucle for funcione con una cadena delimitada por comas?

Este es mi código hasta ahora:

for /f "tokens=1 eol=," %%f IN ("1,2,3,4") do  (
    echo .
    echo %%f    
)

Estoy esperando que eso produzca:

.
1
.
2
.

etc ...

Pero en cambio me sale:

.
1

Y eso es. ¿Qué me estoy perdiendo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta