Skript zum verschieben von Dateien in 250er Blöcken
Hallo Zusammen,
ich stehe gerade vor einer Aufgabe die ich gerne per Skript erledigen würde.
Ich habe 6 Ordner mit jeweils ca. 10.000 Dateien. Ich möchte nun das jeweils 250 Dokumente in noch nicht vorhandene Unterordner verschoben werden.
Es ist für die nachfolgende Applikation sehr wichtig das maximal 250 Dokumente in diesen Ordnern liegen.
Folgenden Weg müsste also solch ein Skript beschreiten:
1. Einstieg in den ersten der sechs Ordner
2. Anzahl vorhandener Dateien ermitteln
3. Unterordner "1" erstellen und 250 Dokumente dorthin verschieben
4. Unterordner "2" erstellen und 250 Dokumente dorthin verschieben
..
99. Unterordner "97" erstellen und die noch übrig gebliebenen Dokumente dorthin verschieben.
Vielleicht hat ja jemand von euch Idee wie man diese Geschichte elegant lösen könnte. Vielen Dank
ich stehe gerade vor einer Aufgabe die ich gerne per Skript erledigen würde.
Ich habe 6 Ordner mit jeweils ca. 10.000 Dateien. Ich möchte nun das jeweils 250 Dokumente in noch nicht vorhandene Unterordner verschoben werden.
Es ist für die nachfolgende Applikation sehr wichtig das maximal 250 Dokumente in diesen Ordnern liegen.
Folgenden Weg müsste also solch ein Skript beschreiten:
1. Einstieg in den ersten der sechs Ordner
2. Anzahl vorhandener Dateien ermitteln
3. Unterordner "1" erstellen und 250 Dokumente dorthin verschieben
4. Unterordner "2" erstellen und 250 Dokumente dorthin verschieben
..
99. Unterordner "97" erstellen und die noch übrig gebliebenen Dokumente dorthin verschieben.
Vielleicht hat ja jemand von euch Idee wie man diese Geschichte elegant lösen könnte. Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145334
Url: https://administrator.de/contentid/145334
Ausgedruckt am: 26.11.2024 um 18:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo andrehh,
die Dateien on the fly zählen und dann einfach den Zähler durch 250 teilen + 1 und du hast den gewünschten Ordner.
Hier eine Batch die alle Dateien im aktuellen Ordner in entsprechende Unterordner verschiebt.
Diese Version erzeigt aber führende Nullen damit es mit dem Sortieren besser klappt.
Es wir nur angezeigt, zum "scharfmachen" die Doppelpunkte in den letzten beiden Zeilen entfernen
Wenn die Ordnernur 2-Stellige Nummern haben sollen in Zeile 10 die -3 in -2 ändern.
Gruß
LotPings
die Dateien on the fly zählen und dann einfach den Zähler durch 250 teilen + 1 und du hast den gewünschten Ordner.
Hier eine Batch die alle Dateien im aktuellen Ordner in entsprechende Unterordner verschiebt.
Diese Version erzeigt aber führende Nullen damit es mit dem Sortieren besser klappt.
:: Split-X.cmd
@Echo off & Setlocal
Set X=250
For /F "tokens=1,* delims=" %%A in (
'Dir /B/A-D .^|find /N /V "#+#"'
) Do Call :ProcessFile %%A "%%B"
Goto :Eof
:ProcessFile
Set /A "Ordner=(%1-1) / X + 1001, LfdNum=(%1-1) %% X + 1001"
Set Ordner=%Ordner:~-3%
Set LfdNum=%LfdNum:~-3%
Echo %LfdNum% %Ordner% %2
:: If Not Exist %Ordner% MD %Ordner%
:: Move %2 %Ordner%\
Wenn die Ordnernur 2-Stellige Nummern haben sollen in Zeile 10 die -3 in -2 ändern.
Gruß
LotPings