Hilfe beim Erstellen von ZIP-Dateien mit jeweils 50 Dateien

Ich habe einen Ordner mit 7.000 Bildern, die in ZIP-Dateien mit jeweils nur 50 Dateien gezippt werden müssen.

Irgendeine Möglichkeit, dies automatisch zu tun? Jedes Skript, jeder Automator-Workflow, jeder Batch, was auch immer hilfreich wäre.

Ich bin auch nicht sehr erfahren in der Verwendung, also bitte seien Sie spezifisch.

Ich verwende OS X Yosemite.

Antworten (1)

Hier ist ein schnelles und schmutziges BASH-Skript.

Annahmen: Alle Ihre Fotos befinden sich in einem Ordner, und es gibt nichts anderes in diesem Ordner.

#!/bin/bash
zip_count=0
files_zipped=0
folder_number=1
div=50
numfiles=(*)
numfiles=${#numfiles[@]}

mkdir zips

for file in *
do

  file_list="$file_list \"$file\""
  let "zip_count=zip_count+1"
  let "files_zipped=files_zipped+1"

  if [ "$files_zipped" -eq "$numfiles" ]; then
    echo "Final ZIP..."
    echo $file_list | xargs zip -9 zips/$folder_number.zip
  fi

  if [ "$zip_count" -eq "$div" ]; then
    echo "Next Zip..."
    echo $file_list | xargs zip zips/$folder_number.zip
    let "folder_number=folder_number+1"
    zip_count=0
    file_list=""
  fi

done

Sie können es hier herunterladen

Sobald Sie es heruntergeladen haben:

  1. Öffnen Sie Terminal.app und wechseln Sie in das Verzeichnis mit Ihren Fotos, zBcd /path/to/photos
  2. Führen Sie den Befehl aus bash ~/Downloads/zip50.sh(vorausgesetzt, Sie haben das Skript in Ihren Download-Ordner heruntergeladen.)
  3. Im Ordner mit Ihren Fotos wird ein neuer Ordner mit dem Namen „zips“ erstellt.