Guide: Lag Windows/Linux vennlige Zip filer rett fra context menyen

Jeg sender inn endel oppgaver og slikt på skolen, og det virker både amatørmessig og forvirrende for foreleserne å få vanlige Zip arkiver laget fra Finder som da inneholder .DS_Store filer og resource forks. Du kan selvføgelig lage script som sletter disse filene, før du lager arkivet, men hadde det ikke vært bedre at zip ikke hadde puttet disse med i det hele tatt?

Jeg lagde dette i Automator, mitt første Automator prosjekt, inntil ikveld hadde jeg aldri åpnet programmet da jeg aldri hadde hatt bruk for det :)

Legg vedlagt fil i ~/Library/Workflows/Applications/Finder mappen.

Nå kan du høyreklikke (controllklikke) på en eller flere filer/mapper og gå til "Automator" og "Make Zip Archive", navnet kan selvfølgelig byttes :) Scriptet oppfører seg akkurat som den vanlige til Finder uten disse Mac OS X filene som bare virker forstyrrende.

En annen fordel er at du kan sjekke ut kildekoden :) Den er skrevet i Perl, og jeg har for treningsskyld kuttet ut å bruke ferdige funksjoner (slik som basename) og istede brukt regex. Så her har du også muligheten til å lære Perl og regex :) Du kan også enkelt legge til støtte for tar.gz og slikt... Da kun en linje kjører systemkall..

system("/usr/bin/zip", "-r", $name, @items, "-x", "*/.DS_Store");

Jeg har også modifisert scriptet her hos meg, men dette er ikke med i Automator scriptet som er lagt med... Jeg har lagt til at .class og .classpath filer heller ikke skal være med da jeg leverer mye Java og foreleseren ikke ønsker disse filene...

system("/usr/bin/zip", "-r", $name, @items, "-x", "*/.DS_Store", "*.class","*/.classpath");

Kildekoden kan brukes fritt uten tillatelse fra meg, men vennligst legg meg med i creditten :)

Leon

Takk! =)

Hugin

God ide.

Når det gjelder Java og annen programmering, ville jeg satt opp miljøet til å legge genererte filer i en egen byggemappe. Da slippe du å bry deg med slikt her, og det blir mye lettere å ta backup av prosjektene.

simens bilde

simen

Joda. Det har jeg. Men må uansett fjerne .DS_Store... Jeg bruker Eclipse til Java. Mye vanskeligere enn å høyreklippe på mappa kan ikke jeg tenke meg dog :)

Gentoo, Debian, pfSense, Mac OS X, Mac OS, A/UX

Macern

Er det ikke omtrent like enkelt å bruke DropStuff til komprimering? Da slipper man vel også DS_Store og resource fork-filer?

simens bilde

simen

Joda. Men meninga er å ikke sette igang et annet program også å dra mappa ditt. Er noe enklere å bare høyreklikke. Du kan også som jeg sa i artikkelen enkelt legge på ditt eget filter (slik som å kutte ut *class filer etc.) og du kan også få hvilket som helst komprimeringsstandard med en liten modifikasjon til scriptet. Så kan enkelt få tar.gz, tbz og slikt...

Gentoo, Debian, pfSense, Mac OS X, Mac OS, A/UX

dragehests bilde

dragehest

Det første jeg gjorde etter å ha sendt inn to zipfiler til lœreren min er å sjekke mac1 for nyheter. og gjett hvilken artikkel som er øverst, hehe. Takk for fin guide, denne vil bli brukt flittig.

welsti

Hva er det dere sender som krever zip? Oppgaver er vel vanligvis skrevet i .doc og pittesmå? Dere bruker kanskje andre programmer enn Word og/eller OpenOffice?

simens bilde

simen

Java oppgaver ofte med ganske mange filer og pakker, reprensentert ved hjelp av mapper i filsystemet.

Mange steder man trenger .zip :) .doc sender jeg aldri inn da jeg ikke har Word... Sender inn .rtf eller .pdf eller Open Office formatet om det skal være noe :)

Mac OS X, Mac OS, A/UX, Debian, pfSense, pkgsrc, Java, Perl, PHP, JavaScript, AppleScript, etc...

Chrononaut

For de av oss som liker å bruke skallet, så er det enklere/lettere måter å gjøre dette på. Selv bruker jeg zsh, så under følger et eksempel på en zsh-funksjon som gjør dette:

zipdir() { zip "$@".zip -r "$@" -x "*/.DS_Store" }

tjodolv

Filen finnes ikke :'(
Noen som kan legge den ut igjen?

  • Skriv ut artikkel
  • Abonner med RSS

Alt om iPad, iPhone og iOS

Nettradio i iTunes

Nettradio i iTunes
130 norske radiokanaler.
Få de mest populære norske, svenske og danske radiokanalene inn i en egen spilleliste i iTunes.
Oppdatert 13. mai