Verzeichnisse alphabetisch kopieren
Hallo zusammen, ich bin neu hier und habe eine Frage:
Ich möchte aus einem Verzeichnis mit zig Unterverzeichnissen diese alphabetisch aufgeteilt in einen Zielordner kopieren / verschieben (enthält die Verzeichnisse A - Z).
Grund: Der Aufruf des Quellverzeichnisses dauert wegen der Anzahl der Unterverzeichnisse zu lange.
Ich betone, es geht um die Verzeichnisse, nicht um die darin enthaltenen Dateien.
Verschiedene Versuche mit einer Filelist.txt und Robocopy sind bisher fehlgeschlagen. Hat jemand eine Idee, dies mit einfachen Mitteln zu lösen ?
Danke vorab.
Gruß
Floyd
Ich möchte aus einem Verzeichnis mit zig Unterverzeichnissen diese alphabetisch aufgeteilt in einen Zielordner kopieren / verschieben (enthält die Verzeichnisse A - Z).
Grund: Der Aufruf des Quellverzeichnisses dauert wegen der Anzahl der Unterverzeichnisse zu lange.
Ich betone, es geht um die Verzeichnisse, nicht um die darin enthaltenen Dateien.
Verschiedene Versuche mit einer Filelist.txt und Robocopy sind bisher fehlgeschlagen. Hat jemand eine Idee, dies mit einfachen Mitteln zu lösen ?
Danke vorab.
Gruß
Floyd
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 144784
Url: https://administrator.de/forum/verzeichnisse-alphabetisch-kopieren-144784.html
Ausgedruckt am: 22.04.2025 um 15:04 Uhr
9 Kommentare
Neuester Kommentar
Moin Floyd2010,
willkommen im Forum und in der neuen Arbeitswoche,...
kannst du bitte zur Vermeidung von zu vielen Rückfragen mal ein Beispiel mit vier, fünf Ordnern vorher/nachher skizzeren?
Das es um ein Windows-System halbwegs aktuellen Datums geht habe ich schon aus dem Robocopy-Schlenker geschlossen.
Grüße
Biber
willkommen im Forum und in der neuen Arbeitswoche,...
kannst du bitte zur Vermeidung von zu vielen Rückfragen mal ein Beispiel mit vier, fünf Ordnern vorher/nachher skizzeren?
Das es um ein Windows-System halbwegs aktuellen Datums geht habe ich schon aus dem Robocopy-Schlenker geschlossen.
Grüße
Biber
Hallo Floyd2010!
Na dann als Ansatz:
Das "
Grüße
bastla
Na dann als Ansatz:
@echo off & setlocal
set "Basis=D:\Verzeichnis mit vielen Unterordnern"
set "Ziel=D:\Verzeichnis mit Alpha-Unterordnern"
for /d %%i in ("%Basis%\*.*") do set "Verzeichnis=%%~ni" & call :ProcessDir "%%i"
goto :eof
:ProcessDir
md "%Ziel%\%Verzeichnis:~,1%" 2>nul
echo move %1 "%Ziel%\%Verzeichnis:~,1%\"
goto :eof
echo
" vor dem "move
" dient dem gefahrlosen Testen (die Alpha-Ordner werden allerdings bereits erstellt) ...Grüße
bastla
Hallo Floyd2010!
- ich hätte allerdings noch hinzufügen sollen: ... indem die entsprechenden "
Grüße
bastla
Ergebnis: Es werden nur die Verzeichnisse A-Z angelegt, also der eigentliche move/copy Befehl für die Dateien nicht ausgeführt. Hinter %Basis&\ steht jedoch ein *.* (?)
Im Hinblick aufDas "
bin ich mit dem Ergebnis durchaus zufrieden echo
" vor dem "move
" dient dem gefahrlosen Testen (die Alpha-Ordner werden allerdings bereits erstellt) ...move
"-Befehle nur angezeigt werden.wo ergänze ich bei den kryptischen Einträge den Befehl zum gleichzeitigen verschieben der Dateien incl. Unterverzeichnisse.
Wenn Du dann einmal das "echo
" entfernt haben wirst, sollten eigentlich alle Inhalte (das "move
" bezieht sich ja bereits auf Ordner) verschoben werden (teste das aber besser trotzdem auch noch mit 2 oder 3 Testordnern in einem anderen Basis-Ordner) ...Grüße
bastla
Hallo Floyd2010!
Schön, dass es für Dich passt
...
Das hier verwendete "%%~ni" (oder, zur Sicherheit auch "%%~nxi") findest Du in der Online-Hilfe zu "
Grüße
bastla
Schön, dass es für Dich passt
Das hier verwendete "%%~ni" (oder, zur Sicherheit auch "%%~nxi") findest Du in der Online-Hilfe zu "
for
" (ziemlich am Ende) erklärt - bedeutet aber ganz einfach nur: Verwende nicht den vollständigen Pfad des derzeit mit "%%i" angesprochenen Ordners, sondern nur den Namen (oder als "%%~nxi" zusätzlich auch noch den Typ = extension - falls es im Ordnernamen mindestens einen Punkt gibt, wird der Teil nach dem letzten Punkt als Typ betrachtet und würde daher dann fehlen).Grüße
bastla