Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
vlad •->

Anmeldedatum: 12.02.2002 Beiträge: 17
|
Verfasst am: 26.02.2002 - 17:22 Titel: Dateien komprimieren und dann kopieren |
|
|
Hallo miteinander!
Ich möchte gern wissen, ob es möglich ist, die Dateien komprimieren und dann kopieren (oder beim Kopieren komprimieren). Im Fall, wenn ich es trotzdem nicht so verständlich erklärt, nehmen wir so mal an:
Wir haben den Ordner A. Der enthält Dateien. Die Dateien müssen sich später im komprimierten Zustand (d.h. in einer Datei wie z.B. im Windows wäre es dateiname.rar) im Ordner B befinden.
Gruß
Vlad |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 26.02.2002 - 17:46 Titel: Dateien komprimieren und dann kopieren |
|
|
Hallo Vlad,
dein Vorhaben dürfte mit Stuffit Deluxe kein Problem sein. Es ist gut per AppleScript automatisierbar.
Hier mal kurz der 'stuff'-Befehl aus Stuffit Deluxe 6.0.1:
stuff: adds items to an archive
stuff a list of alias -- item(s) to add to an archive
into reference -- location within archive
password international text] -- password with which to encrypt the files
deleting boolean] -- deletes the original files after they are added to the archive
replacing boolean] -- replaces any items with the same name
compression level maximum/fast/none]
compress aliases boolean]
Result: a list of reference -- reference(s) to archive items added
Ich habe mir gerade das Befehlsverzeichnis der OS X-Version angesehen. Sieht gut aus! Dürfte also unter 9.x und X keine Probleme geben. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 22.02.2003 - 23:11, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 26.02.2002 - 21:26 Titel: Dateien komprimieren und dann kopieren |
|
|
Hier mal ein kleines Beispielscript, damit du eine Vorstellung hast, wie's ungefähr ablaufen könnte. Das Skript ist natürlich noch lange nicht vollkommen aber als Anschauumgsmaterial tut's das schon:
set ArchivName to text returned of ¨
(display dialog "Bitte einen Namen für das Archiv eingeben" default answer "" )
set ArchivName to ArchivName & ".sit"
set ArchivPfad to ((path to desktop as string) & "Kompresse:" & ArchivName)
tell application "Finder"
set fileList to every item of (choose folder)
set myStuff to { }
repeat with oneFile in fileList
set the end of myStuff to oneFile as alias
end repeat
log myStuff
end tell
tell application "StuffIt Deluxe"
make new archive with properties { location:file ArchivPfad }
stuff myStuff into archive ArchivName compression level maximum
end tell
Stuffit Deluxe ist übrigens recordable, d.h. du kannst Skripts auch aufzeichnen. Oft bringt das mehr Informationen als das Dictionary allein. Hier ein Skript, das ich eben aufgezeichnet habe:
tell application "StuffIt Deluxe"
activate
make new archive with properties ¨
{ location:file "Macintosh HD:Desktop Folder:Kompresse:Archiv A.sit" }
stuff { alias "Macintosh HD:Desktop Folder:siegelmusic.de:BellaphonLogo.jpg", ¨
alias "Macintosh HD:Desktop Folder:siegelmusic.de:Bellaphon_sm.jpg", ¨
alias "Macintosh HD:Desktop Folder:siegelmusic.de:logosiegelmusic1.jpg", ¨
alias "Macintosh HD:Desktop Folder:siegelmusic.de:peters.htm", ¨
alias "Macintosh HD:Desktop Folder:siegelmusic.de:www.siegelmusic.de" } ¨
into archive "Archiv A.sit" compression level maximum
close window "Archiv A.sit"
end tell
HTH _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 22.02.2003 - 23:10, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Busyman •-->


Anmeldedatum: 16.09.2001 Beiträge: 64 Wohnort: Ostwestfalen
|
Verfasst am: 26.02.2002 - 21:37 Titel: Dateien komprimieren und dann kopieren |
|
|
Hallo Snow,
da danke auch ich Dir für Deine Mühe, wollte schon länger mal ein Backup-Script mit StuffIt-Funktion bauen. Nun weiß ich, wie es geht :biggrin:
Und schon wieder vorm Skript Editor sitzend,
Busyman |
|
Nach oben |
|
 |
vlad •->

Anmeldedatum: 12.02.2002 Beiträge: 17
|
Verfasst am: 27.02.2002 - 11:48 Titel: Dateien komprimieren und dann kopieren |
|
|
Hallo, Snow!
Danke für deine ausführliche Antwort! Es ist genau so viel Information drin, wie ich brauche.
Gruß
Vlad |
|
Nach oben |
|
 |
pixpress •->

Anmeldedatum: 23.03.2004 Beiträge: 6 Wohnort: Zwickau
|
Verfasst am: 26.03.2004 - 11:27 Titel: |
|
|
@ Snow
Zitat: | set ArchivName to text returned of ¨
(display dialog "Bitte einen Namen für das Archiv eingeben" default answer "" )
set ArchivName to ArchivName & ".sit"
set ArchivPfad to ((path to desktop as string) & "Kompresse:" & ArchivName)
tell application "Finder"
set fileList to every item of (choose folder)
set myStuff to { }
repeat with oneFile in fileList
set the end of myStuff to oneFile as alias
end repeat
log myStuff
end tell
tell application "StuffIt Deluxe"
make new archive with properties { location:file ArchivPfad }
stuff myStuff into archive ArchivName compression level maximum
end tell |
Habe Dein kleines Skript mal ausprobiert, funzt ja prima,
aber wie muss ich es abändern um jedes File eines Ordners als einzelnes Archiv zu ZIPPEN?
Ciao
Rico |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 04.04.2004 - 20:51 Titel: |
|
|
Hallo Rico,
um jedes einzelne File zu stuffen, brauchst du eine zusätzliche Schleife, in der die Liste "myStuff" abgearbeitet wird. Diese Schleife muss sich innerhalb des Tell-Blocks befinden, der an Stuffit gerichtet ist.
Man muss dabei aber aufpassen, dass Stuffit eine Liste erwartet und keine einzelnen Dateireferenzen. Deshalb musst du jeweils eine Liste übergeben, die nur eine einzige Dateireferenz enthält. ich habe dazu die Einzelreferenz einfach zwischen zwei geschweifte Klammern gesetzt.
Also hier das geänderte Skript:
set ArchivName to text returned of ¬
(display dialog "Bitte einen Namen für das Archiv eingeben" default answer "")
tell application "Finder"
set fileList to every item of folder (choose folder)
end tell
tell application "StuffIt Deluxe"
set tCount to 0
repeat with einzelDatei in fileList
set einzelDatei to einzelDatei as alias
set tCount to tCount + 1
set EinzelName to ArchivName & "-" & tCount & ".sit"
(* Der Ordner "Kompresse" muss auf dem Schreibtisch existieren *)
set ArchivPfad to ((path to desktop as string) & "Kompresse:" & EinzelName)
make new archive with properties {location:file ArchivPfad}
stuff {einzelDatei} into archive EinzelName compression level maximum
end repeat
end tell
Jetzt könnte man natürlich noch die Sache mit dem Archivnamen änder. Ich habe hier einfach einen zuvor gewählten Namen genommen und dann entsprechend der Anzahl der Dateien durchnummeriert. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 04.04.2004 - 21:01 Titel: |
|
|
Sorry Rico,
du wolltest die Dateien ja ZIPPEN.
Sieht so aus:
tell application "Finder"
set fileList to every item of folder (choose folder)
end tell
tell application "StuffIt Deluxe"
repeat with einzelDatei in fileList
set einzelDatei to einzelDatei as alias
(* Der Ordner "Kompresse" muss auf dem Schreibtisch existieren *)
set ZipPfad to (path to desktop as string) & "Kompresse:"
encode {einzelDatei} with zip into file ZipPfad
end repeat
end tell _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
nz •->

Anmeldedatum: 30.12.2004 Beiträge: 13
|
Verfasst am: 30.12.2004 - 15:31 Titel: |
|
|
Hallo,
gibts eine möglichkeit Dateien ohne Stuffit dlx/dropstuff zu Stuff-en?
Ist stuffit engine AS-fähig? Gibt es überhaupt stuffit engine unter OSX? |
|
Nach oben |
|
 |
nz •->

Anmeldedatum: 30.12.2004 Beiträge: 13
|
Verfasst am: 04.01.2005 - 01:51 Titel: |
|
|
Ja, das geht!
Mit stuff und unstuff Befehlen unter Darwin über Terminal.
Vorausgesetzt man hat Stuffit DLX oder Stuffit SDK installiert.
Die Commands lassen sich mit "Do shell Script" laufen. |
|
Nach oben |
|
 |
|