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.