Saya memiliki banyak folder yang harus saya kompres menjadi file zip individual.
Jika saya memilih semua folder ini di Finder dan melakukan "Compress [X] Items," Saya mendapatkan satu file zip yang berisi semua folder, sedangkan yang saya inginkan adalah satu file zip per folder.
Saya mencoba membuat alur kerja dengan Automator menggunakan tindakan "Buat Arsip", tetapi berperilaku dengan cara yang sama: memasukkan beberapa file / folder menghasilkan file zip tunggal. Tidak ada cara untuk menentukan bahwa tindakan dijalankan pada setiap item secara individual.
Pada dasarnya, saya mencari cara untuk menghindari keharusan menjalankan "Kompres" di Finder pada setiap folder satu per satu. Apakah ada cara untuk mengotomatisasi ini?
popd
kesalahan ketik yang tidak perlu dan memperbaikifor i in $bn*.zip; do
, yang seharusnyafor i in $bn *.zip; do
. Perhatikan ruang antara$bn
dan*.zip
, itu hilang dan seharusnya tidak ada. Jadi tolong perbarui dalam implementasi Anda jika tidak langkahFile Name 2.zip
ketikabasename
memiliki ruang di dalamnya.Jawaban:
Berikut adalah layanan Automator 1 yang menjadi tersedia di Finder ketika Folder dipilih dan mengemulasi yang konteks-menu Compress [n] Item perintah kecuali menciptakan sebuah file zip arsip individual untuk masing-masing dipilih Folder di nama dari yang dipilih Folder . Jika file Folder Name.zip sudah ada maka
" 2"
( spasi 2) ditambahkan ke nama file , misalnya Folder Name 2.zip . Ini memastikan file arsip zip yang adatidak disentuh dan nama file arsip zip akan secara otomatis ditambahkan sesuai kebutuhan.1 Di macOS Mojave , dan kemudian, Layanan Automator disebut Tindakan Cepat . Ada juga perbedaan nomenklatur kecil lainnya tetapi mereka harus lebih jelas ketika membandingkannya dengan alur kerja Mojave Automator pra-macOS.
Untuk Membuat Layanan: 1
Buka Automator dan pilih Layanan 1 atau File > Baru > Layanan Jika Automator sudah terbuka.
Set layanan yang diterima yang dipilih untuk folder dan di ke Finder .
Tambahkan Script Run Shell Aksi , pengaturan Shell: untuk / bin / bash dan Lulus masukan: untuk sebagai argumen dan tambahkan berikut kode :
Simpan Layanan sebagai: Folder Kompres Secara Terpisah
Untuk Menggunakan Layanan:
Di Finder atau di Desktop pilih beberapa Folder , lalu klik kanan dan pilih Folder Kompres secara terpisah dari bawah Layanan .
Atau setelah memilih Folder target , Anda juga dapat mengklik Finder > Layanan > Folder Kompres Secara terpisah dari bilah menu .
Di sana Anda memilikinya, cara untuk kompres beberapa folder secara terpisah dan bersamaan pada satu waktu di arsip zip individu sambil meniru bagaimana Finder menciptakan file arsip zip. Berarti arsip zip berisi garpu sumber daya yang diawetkan dan meta-data HFS dalam subdirektori __MACOSX dan hanya menyematkan sumber nama direktori induk dalam arsip tujuan , bukan pathname yang sepenuhnya memenuhi syarat seperti saat menggunakan
zip
(tanpa-j
) untuk membuat arsip.Gambar Map Kompres Secara Terpisah
sumber
Ada solusi alternatif yang terintegrasi jika Anda tidak ingin menggunakan Automator dan tidak masalah dengan mengubah pengaturan Archive Utility.
sumber
/System/Library/CoreServices/Applications/
(Anda dapat menekan Cmd-Shift-G ketika dialog pilih file terbuka untuk menempelkan jalur ini untuk navigasi cepat)