Per Batch bestimmte Anzahl an Dateien zippen
Guten Abend liebe Community,
ich habe folgende Frage:
Ich habe in einem Ordner ca. 850 Dateien.
Und ich wollte gerne immer nur jeweils 100 Dateien zippen und dann als 1.zip im selben Ordner speichern.
Und dann die nächsten 100 Dateien als 2.zip speichern, bis am Ende alle Dateien gezippt sind.
So daß am Ende es 9 Zip Dateien sind.
Die Original Dateien sollten bitte trotzdem im Ordner bleiben
Ich habe Windows 10 und habe auch 7-Zip Installiert.
Ich bin über jede Batch oder Powershell Hilfe dankbar.
Auch über jeden Link hier im Forum wo diese Frage/Antwort schon zu finden ist.
Vielen Dank.
Gruß
Thomas
ich habe folgende Frage:
Ich habe in einem Ordner ca. 850 Dateien.
Und ich wollte gerne immer nur jeweils 100 Dateien zippen und dann als 1.zip im selben Ordner speichern.
Und dann die nächsten 100 Dateien als 2.zip speichern, bis am Ende alle Dateien gezippt sind.
So daß am Ende es 9 Zip Dateien sind.
Die Original Dateien sollten bitte trotzdem im Ordner bleiben
Ich habe Windows 10 und habe auch 7-Zip Installiert.
Ich bin über jede Batch oder Powershell Hilfe dankbar.
Auch über jeden Link hier im Forum wo diese Frage/Antwort schon zu finden ist.
Vielen Dank.
Gruß
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2733359189
Url: https://administrator.de/forum/per-batch-bestimmte-anzahl-an-dateien-zippen-2733359189.html
Ausgedruckt am: 06.06.2025 um 02:06 Uhr
3 Kommentare
Neuester Kommentar
Servus.
Powershell:
Grüße Uwe
Powershell:
# max size of each set
$max = 100
# folder with files
$folder = 'E:\Dateien'
# get all files of folder (since we only need the path of all files, this variant is way faster then Get-ChildItem)
$files = [IO.Directory]::GetFiles($folder)
# initialize counters
$done = 0;$cnt = 1
# loop until all files are zipped
while($done -lt $files.count){
# zip set of $max number of files
$files | select -skip $done -First $max | compress-archive -Destinationpath "$folder\$('{0:D2}' -f $cnt).zip"
$cnt++; $done += $max
}