Batch: Liste aller Ordnernamen

Hi,

ich will mit einer Batch-Datei eine Liste aller Ordner, die in einem Verzeichnis sind, weiterverarbeiten.
Ich weiss, dass dir /a:d eine Liste aller Ordner (und nichts anderes) ausspuckt, aber die hat lauter unnötige Formatierung etc: Man bekommt bei einem Ordner folgendes angegeben:

25/11/2007 19:11 My Documents

Ich will wirklich nur den Ordnernamen, also in diesem Fall „My Documents“ haben.

Wenn es geht, würde ich die Ordnernamen sogar gerne in eine Variable bzw. einen Array speichern, mit dem ich dann ein FOR-IN-Manöver durchführen kann.

Vielen Dank im Voraus

–WhiteAvenger

hallo

hast du schon mal ein
help dir
bzw. ein
help for
probiert? lohnt sich - da bekommt man schneller eine brauchbare antwort…

dir /a:d /b liefert dir nur die verzeichnisnamen

ein
for /F „usebackq“ %i in (dir /a:d /b) do @echo %i
gibt alle verzeichnisnamen aus - logischerweise wirst du das „echo %i“ durch was sinnvolleres ersetzen wollen…

lg
erwin

for /F „usebackq“ %i in (dir /a:d /b) do @echo %i
gibt alle verzeichnisnamen aus - logischerweise wirst du das
„echo %i“ durch was sinnvolleres ersetzen wollen…

Hallo Erwin,
das funktioniert nicht.
Wenn ich die gesamte Zeile in die Konsole eintippe, erhalte ich eine schöne Liste der Ordner; wenn ich es aber in eine batch setze und die laufen lassen, ist alles, was ich erhalte, diese Fehlermeldung:
„d was unexpected at this time“

Woran kann das liegen?

–WhiteAvenger

Hallo.

for /F „usebackq“ %i in (dir /a:d /b) do @echo %i
gibt alle verzeichnisnamen aus - logischerweise wirst du das
„echo %i“ durch was sinnvolleres ersetzen wollen…

Probier mal

for /d %a in (\*.\*) do echo %a

.

Das sollte eigentlich das gewünschte machen.

Sebastian.

hallo

in batch-dateien muss das prozenzzeichen doppelt angegeben werden. warum das die microsoft-programmiere so gelöst haben, ist mir ein rätsel.

for /F „usebackq“ %%i in (dir /a:d /b) do @echo %%i

so sollte es klappen…

lg
erwin

Danke

for /d %a in (*.*) do echo %a

Danke Sebastian, das funktioniert.

Danke

for /F „usebackq“ %%i in (dir /a:d /b) do @echo %%i

Danke Erwin,

das funktioniert.