# Batch - Über %PATH% iterieren



## ZodiacXP (15. Januar 2012)

Hallo,

ich wollte mit einer FOR-Schleife über alle Einträge in %PATH% iterieren und dachte es geht wie folgt:

```
FOR /F "delims=;" %%p IN ("%PATH%") DO (
    echo %%p
)
```

Entgegen meinen Erwartungen wird nur der erste Eintrag ausgegeben und die restlichen nicht. Was läuft hier falsch? Wie geht es besser?


----------



## deepthroat (16. Januar 2012)

Hi.

Mit FOR /F kann man zeilenweise über Daten iterieren (und diese in Token auftrennen).

Du hast nur 1 Zeile angegeben, so wird die Schleife auch nur ein Mal durchlaufen.

```
set p=%path%
:loop
for /f "tokens=1,* delims=;" %%a in ("%p%") do (
    echo %%a
    set p=%%b
)
if "%p%" neq "" goto loop
```
Gruß


----------

