Bestimmte Anzahl von Dateien verschieben
Hallo,
ich habe einen Ordner mit vielen Dateien (unterschiedlichste Namen) und möchte jetzt eine bestimmte Anzahl von Dateien in andere Ordner verschieben.
Ein Ordner hat z.B. 100 verschiedene Dateien, dann sollten jeweils 20 Dateien in Ordner1, weitere 20 in Ordner2, u.s.w. verschoben werden.
Die Auswahl der Dateien kann nach Namen oder nach Erstellungsdatum erfolgen.
Der Hintergrund hierzu ist, dass ich ein Programm zur Weiterverarbeitung der Dateien verwende, das nur eine bestimmte Menge an Dateien laden kann.
Kann man die Aufteilung der Dateien mit einer Batchdatei realisieren?
Für Lösungen oder Lösungsansätze wäre ich dankbar.
Viele Grüße und schonmals Danke,
Fragemeister
ich habe einen Ordner mit vielen Dateien (unterschiedlichste Namen) und möchte jetzt eine bestimmte Anzahl von Dateien in andere Ordner verschieben.
Ein Ordner hat z.B. 100 verschiedene Dateien, dann sollten jeweils 20 Dateien in Ordner1, weitere 20 in Ordner2, u.s.w. verschoben werden.
Die Auswahl der Dateien kann nach Namen oder nach Erstellungsdatum erfolgen.
Der Hintergrund hierzu ist, dass ich ein Programm zur Weiterverarbeitung der Dateien verwende, das nur eine bestimmte Menge an Dateien laden kann.
Kann man die Aufteilung der Dateien mit einer Batchdatei realisieren?
Für Lösungen oder Lösungsansätze wäre ich dankbar.
Viele Grüße und schonmals Danke,
Fragemeister
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 38410
Url: https://administrator.de/forum/bestimmte-anzahl-von-dateien-verschieben-38410.html
Ausgedruckt am: 29.04.2025 um 03:04 Uhr
1 Kommentar
Moin Fragemeister,
gibt verschiedene Ansätze, die Dich via Batch zu einer Lösung führen könnten...
Einer wäre skizziert:
Geht sicherlich auch eleganter und Du kannst natürlich auch die Anzahl der zu kopierenden Dateien als Parameter übergeben und untern im CALL-Block statt [20] berechnen [1*%AnzJeOrdner%], statt [40] berechnen [2*%AnzJeOrdner%]
Über die DIR-Parameter /o:d bzw /o:n kannst Du die Sortierreihenfolge nach Datum, Name oder irgenwas festlegen.
HTH
Biber
gibt verschiedene Ansätze, die Dich via Batch zu einer Lösung führen könnten...
Einer wäre skizziert:
@echo off & setlocal
Set /a cnt=0
For /f %%i in ('dir /b /a:d /o:d x:\meinQuellverzeichnis\*.*') do call: DivideEtImpera %%i
goto :eof
:DivideEtImpera
Set /a cnt=%cnt% +1
If %cnt% GEQ 100 goto :eof
if %cnt% GEQ 80 (( copy "x:\meinQuellverzeichnis\%1" y:\ordner80ff\*.*) && goto :eof)
if %cnt% GEQ 60 (( copy "x:\meinQuellverzeichnis\%1" y:\ordner60ff\*.*) && goto :eof)
if %cnt% GEQ 40 (( copy "x:\meinQuellverzeichnis\%1" y:\ordner40ff\*.*) && goto :eof)
if %cnt% GEQ 20 (( copy "x:\meinQuellverzeichnis\%1" y:\ordner20ff\*.*) && goto :eof)
copy "x:\meinQuellverzeichnis\%1" y:\ordner0ff\*.* && goto :eof
Geht sicherlich auch eleganter und Du kannst natürlich auch die Anzahl der zu kopierenden Dateien als Parameter übergeben und untern im CALL-Block statt [20] berechnen [1*%AnzJeOrdner%], statt [40] berechnen [2*%AnzJeOrdner%]
Über die DIR-Parameter /o:d bzw /o:n kannst Du die Sortierreihenfolge nach Datum, Name oder irgenwas festlegen.
HTH
Biber