Ayuda a crear archivos zip con 50 archivos en cada uno

1

Tengo una carpeta que contiene 7.000 imágenes que se deben comprimir en archivos zip que contienen solo 50 archivos cada uno.

¿Alguna forma de hacer esto automáticamente? Cualquier secuencia de comandos, flujo de trabajo de Automator, lotes, lo que sea útil.

Tampoco tengo mucha experiencia en el uso, así que sé específico.

Estoy ejecutando OS X Yosemite.

    
pregunta user211906 24.11.2016 - 10:27

1 respuesta

1

Aquí hay un script BASH rápido y sucio.

Suposiciones: todas sus fotos están en una carpeta, y no hay nada más en esta carpeta.

#!/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

Puede descargarlo aquí

Una vez que lo hayas descargado:

  1. Abre Terminal.app y cambia al directorio con tus fotos en él, por ejemplo. %código%
  2. Ejecuta el comando cd /path/to/photos (suponiendo que hayas descargado el script en tu carpeta de descargas).
  3. Se creará una nueva carpeta llamada "zip" en la carpeta con tus fotos.
respondido por el Chris A 24.11.2016 - 17:04

Lea otras preguntas en las etiquetas