Tutti gli articoli

Come comprimere ogni file o cartella separatamente su Mac

· 6 min di lettura

Dieci cartelle di clienti, e ogni cliente deve ricevere solo la sua. Una settimana di registrazioni da caricare una per una. Vecchi progetti da archiviare, uno ZIP ciascuno. Li selezioni tutti nel Finder, scegli Comprimi e ottieni un unico Archivio.zip con tutto dentro.

La risposta breve:

  • Il Finder non sa creare un archivio per elemento. Comprimi gli elementi uno alla volta, oppure usa il ciclo del Terminale qui sotto, che puoi anche trasformare in un’azione rapida.
  • In Folia Files, seleziona gli elementi, fai clic destro, vai su Comprimi e, sotto Ogni elemento separatamente, scegli ZIP, 7Z, TAR.GZ o TAR.XZ. Ogni elemento ha il suo archivio, proprio accanto.

Che cosa fa «Comprimi» nel Finder

Fai clic destro su un solo elemento e scegli Comprimi “Atlas”: ottieni uno ZIP con il suo nome, Atlas.zip per una cartella, relazione.pdf.zip per un file. Seleziona più elementi e il comando diventa Comprimi 3 elementi (o quanti ne hai selezionati). Finiscono tutti in un unico archivio, Archivio.zip, nella stessa cartella.

Non c’è un’impostazione per avere un archivio per elemento. O li comprimi uno alla volta, o lasci fare a un piccolo script.

Comprimere ogni elemento separatamente nel Terminale

macOS include ditto, uno strumento di copia che crea anche archivi ZIP come il Finder. Un breve ciclo lo esegue una volta per ogni elemento di una cartella:

  1. Apri il Terminale (in Applicazioni › Utility).
  2. Digita cd e uno spazio, trascina sulla finestra del Terminale la cartella che contiene gli elementi e premi ↩.
  3. Incolla queste righe e premi ↩:
for item in ./*; do
  [[ "$item" == *.zip || -e "$item.zip" ]] && continue
  if [[ -d "$item" ]]; then
    ditto -c -k --sequesterRsrc --keepParent "$item" "$item.zip"
  else
    ditto -c -k --sequesterRsrc "$item" "$item.zip"
  fi
done

Ogni elemento della cartella ha ora il suo ZIP accanto: Atlas.zip accanto alla cartella Atlas, relazione.pdf.zip accanto a relazione.pdf. Esegui il ciclo in una cartella che contiene solo ciò che vuoi archiviare, perché ogni file e ogni cartella al suo interno riceve un archivio. Che cosa fa ogni parte:

  • ./* passa in rassegna gli elementi della cartella, tranne quelli nascosti (i nomi che iniziano con un punto). Il ./ davanti evita che un nome che inizia con un trattino venga letto come un’opzione.
  • La seconda riga salta i file ZIP stessi e ogni elemento che ha già il suo archivio: eseguire il ciclo due volte non rifà e non sovrascrive niente.
  • Una cartella viene archiviata con --keepParent, così una volta estratta torna la cartella stessa. Un file viene archiviato da solo: con --keepParent, ditto lo metterebbe in una cartella con il nome di quella in cui si trova.
  • --sequesterRsrc conserva i dati propri del Mac in una cartella __MACOSX dentro l’archivio, come fanno gli ZIP del Finder.

I nomi con spazi o accenti non sono un problema: ogni $item è tra virgolette.

Il comando tar di macOS scrive gli altri formati. Sostituisci il blocco if … fi con una di queste righe, e .zip nella seconda riga con la stessa estensione:

  • TAR.GZ: tar -czf "$item.tar.gz" "$item"
  • TAR.XZ: tar -cJf "$item.tar.xz" "$item"
  • 7Z: tar --format 7zip -cf "$item.7z" "$item"

Se usi Folia Files, fai clic destro sullo sfondo della cartella e scegli Apri nel Terminale: il terminale si apre in quella cartella, senza bisogno di cd. La versione del sito ha anche il Terminale di Folia Files, che si apre sotto il riquadro, come qui sotto.

Lo stesso ciclo eseguito nel terminale sotto un riquadro di Folia Files: le cartelle Atlas, Design e quella del sito web hanno ciascuna il suo ZIP

Trasformare il ciclo in un’azione rapida

Per averlo a portata di clic destro nel Finder:

  1. Apri Automator, scegli File › Nuovo, seleziona Azione rapida e fai clic su Scegli.
  2. Nella barra in alto, imposta Il flusso di lavoro elabora l’elemento attuale su file e cartelle, e in su Finder.app.
  3. Trascina l’azione Esegui script shell dalla libreria nel flusso di lavoro. Controlla che Shell indichi /bin/zsh, imposta Passa a input su come argomenti e sostituisci il suo testo con il ciclo qui sopra, cambiando la prima riga in for item in "$@"; do (gli elementi su cui hai fatto clic destro).
  4. Salvala con ⌘S con un nome come «Comprimi uno per uno».

Ora compare sotto Azioni rapide quando fai clic destro su dei file nel Finder. Impostata su Finder.app, resta fuori dai menu delle altre app, per un motivo spiegato in perché la tua azione rapida di Automator compare solo nel Finder (la versione del sito di Folia Files la mostra comunque).

In Folia Files: Comprimi › Ogni elemento separatamente

Folia Files lo fa dal suo menu contestuale, in tutte le viste:

  1. Seleziona gli elementi: ⌘-clic o ⇧-clic, oppure ⌘A per tutti.
  2. Fai clic destro su uno di essi e vai su Comprimi.
  3. I quattro formati in alto creano un unico archivio con tutta la selezione, Archivio.zip, come il Finder. Sotto Ogni elemento separatamente, gli stessi quattro formati creano un archivio per elemento. Questa seconda parte compare appena ci sono due o più elementi selezionati.

Il sottomenu Comprimi su tre cartelle selezionate: ZIP, 7Z, TAR.GZ e TAR.XZ, poi gli stessi formati sotto Ogni elemento separatamente

Che cosa ottieni:

  • Un archivio accanto a ogni elemento, con il suo nome: Atlas.zip, Design.zip… Un file conserva l’estensione nel nome, Note.md.zip, come con il Finder.
  • Niente viene sostituito. Se Atlas.zip c’è già, il nuovo si chiama Atlas 2.zip.
  • Elementi di più cartelle. Nella vista Albero puoi selezionare elementi in sottocartelle diverse: ogni archivio finisce accanto al proprio elemento.
  • I nuovi archivi selezionati appena pronti, da trascinare in un’email o su una cartella del cloud o di un server aperta nell’altro riquadro.

Comprimi sta accanto agli altri strumenti per archivi e file del menu contestuale, descritti nella pagina degli strumenti per i file.

Seguire, mettere in pausa o annullare in Operazioni

Folia Files crea gli archivi uno dopo l’altro, non tutti insieme: più programmi di compressione nello stesso momento si contenderebbero soltanto il disco. Ogni archivio è una riga in Operazioni, il pulsante della barra degli strumenti che segue anche copie e spostamenti (oppure Finestra › Operazioni in corso, ⌃⌘O):

  • Compressione in .zip (o .7z, .tar.gz…), con una barra di avanzamento basata sulla dimensione misurata prima di iniziare, il nome del file che si sta aggiungendo, quanto è fatto sul totale, la velocità e il tempo rimanente. Gli archivi in attesa del loro turno indicano Preparazione….
  • Il pulsante di pausa ferma il programma di compressione dov’è, e Riprendi riparte da lì. Gli archivi successivi aspettano.
  • Il pulsante ✕ (Annulla) ferma un archivio. Ogni archivio viene scritto con un nome nascosto accanto agli elementi e prende il suo vero nome solo quando è completo: uno annullato non lascia nulla, e un file scritto a metà non sembra mai finito. Gli archivi già creati restano, e gli altri proseguono.

ZIP, 7Z, TAR.GZ o TAR.XZ?

  • ZIP si apre con un doppio clic su un Mac come su un PC Windows, senza installare nulla. È il formato per clienti, colleghi e chiunque abbia un computer che non conosci.
  • 7Z di solito produce archivi più piccoli di ZIP, soprattutto con documenti, testo e codice. Non tutti i computer lo aprono senza un’app in più: tienilo per chi ce l’ha, o per i tuoi archivi.
  • TAR.GZ è l’abitudine dei server Linux e degli sviluppatori. Conserva così come sono i permessi Unix e i link simbolici.
  • TAR.XZ è in genere più piccolo di TAR.GZ, e più lento da creare.

Foto, video e musica sono già compressi: nessun formato li rende molto più piccoli. Archiviali per tenerli insieme o per inviarli, non per risparmiare spazio.

Riaprirli

In Folia Files, un doppio clic su un archivio ZIP, 7Z o TAR lo apre nel riquadro come una cartella, in sola lettura; Estrai qui lo estrae accanto all’archivio, Estrai in in un’altra cartella. Come aprire un file ZIP senza estrarlo spiega i dettagli.

In breve

  • Finder: un unico Archivio.zip per tutta la selezione, qualunque cosa selezioni.
  • Terminale: il ciclo con ditto qui sopra, oppure tar per TAR.GZ, TAR.XZ e 7Z; lo stesso ciclo sta in un’azione rapida di Automator.
  • Folia Files: Comprimi › Ogni elemento separatamente, poi il formato. Un archivio accanto a ogni elemento, seguito in Operazioni, e niente che resti in giro se annulli.