У меня есть папка, содержащая 7000 изображений, которые нужно заархивировать в zip-файлы, содержащие только 50 файлов каждый.
Любой способ сделать это автоматически? Любой сценарий, рабочий процесс Automator, пакетная обработка — все, что будет полезно.
Я не очень опытен в использовании, поэтому, пожалуйста, будьте конкретны.
Я использую OS X Yosemite.
Вот быстрый и грязный скрипт BASH.
Предположения: все ваши фотографии находятся в папке, и в этой папке больше ничего нет.
#!/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
Вы можете скачать его здесь
После того, как вы загрузили его:
cd /path/to/photos
bash ~/Downloads/zip50.sh
(при условии, что вы загрузили скрипт в папку загрузок).
пользователь3439894