Ось Automator служба 1 , яка стає доступною в Finder , якщо папки обрані і емулює в контекстно-меню Стиснути [п] Елементи команди за винятком того, що створює окремий файл зіп архіву для кожної обраної папки в імені обраної папки . Якщо файл Name.zip Folder Name.zip вже існує, до імені файлу додається " 2"
( пробіл 2) , наприклад, Ім'я папки 2.zip . Це забезпечує існуючий файл архіву zipне торкається і ім'я файлу zip-архіву автоматично збільшуватиметься за необхідності.
1 У macOS Mojave та пізніших версіях служба автоматизації називається швидкою дією . Існують також інші незначні відмінності в номенклатурі, але вони повинні бути більш очевидними при порівнянні їх з робочими процесами Mojave Automator до MacOS.
Щоб створити послугу: 1
Відкрийте Automator і виберіть Сервіс 1 або Файл > Створити > Сервіс, якщо Автоматизатор вже відкритий.
Набір послуги беруть вибрані для папок і в до Finder .
Додавання сценарію Run Shell Action , установка Shell: в / бен / Баш і введення Pass: в якості аргументів і додайте наступний код :
for f in "$@"; do
dn="$(dirname "$f")"
bn="$(basename "$f")"
cd "$dn" || exit
if [[ ! -e "$bn.zip" ]]; then
ditto -c -k --sequesterRsrc --keepParent "$f" "$bn.zip"
else
n=2
for i in $bn *.zip; do
if [[ "$bn $n.zip" == "$i" ]]; then
n="$(( n + 1 ))"
fi
done
ditto -c -k --sequesterRsrc --keepParent "$f" "$bn $n.zip"
fi
done
afplay /System/Library/Sounds/Purr.aiff
Збережіть послугу як: Стискайте папки окремо
Щоб скористатися послугою:
У Finder або на робочому столі виберіть декілька папок , потім клацніть правою кнопкою миші та виберіть " Стиснути папки" окремо з-під " Послуги" .
Або вибираючи цільові папки , ви також можете натиснути Finder > Services > Compress Folders окремо на панелі меню .
Там у вас це - спосіб стиснення декількох папок окремо і одночасно за один раз в окремих архівах zip, емуляція того, як Finder створює файл архіву zip. Значення zip-архіву містить збережені вилки ресурсів та метадані HFS у підкаталозі __MACOSX та вбудовує лише джерело імені батьківського каталогу в архів призначення , а не повноцінне ім'я шляху, як при використанні zip
(без -j
) для створення архіву.
Зображення папок стискання окремо