Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

do shell script "zip ...

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
-hans-
•-->
•-->


Anmeldedatum: 30.04.2009
Beiträge: 45

BeitragVerfasst am: 03.02.2010 - 13:38    Titel: do shell script "zip ... Antworten mit Zitat

Hallo!

wie schaffe ich es den pfad aus meiner gezippten Datei zu entfernen bzw. diesen erst garnicht mit zu zippen. also: users->benutzer->desktop->ordner->inhalt
ich möchte nur den inhalt in der Zip-Datei!

Code:
on open these_items
   repeat with i from 1 to the count of these_items
      set this_item to item i of these_items
      set the item_info to info for this_item
      set MyKindIdml to file type of item_info
      if MyKindIdml is not "IDml" then
         display dialog "Bitte nur IDML-Dateien auf das Droplet ziehen."
      else
         set ExpandFolderPath to (this_item as string) & "-entpackt"
         do shell script "mkdir -p " & quoted form of POSIX path of ExpandFolderPath
         tell application "Finder" to duplicate file this_item to folder ExpandFolderPath with replacing
         set NewFile to (ExpandFolderPath & ":" & (name of item_info)) as alias
         do shell script "unzip -o " & quoted form of POSIX path of NewFile & " -d " & quoted form of POSIX path of ExpandFolderPath
         do shell script "rm " & quoted form of POSIX path of NewFile
         set zipfile to ExpandFolderPath & ":" & "mein.idml"

-->hier mein problem:
--testweise wird der ordnerinhalt wieder gezippt (das soll später in ein zweites droplet...)
--allerdings wird der ganze pfad zum verzeichnis auch mit in das Zip-File geschrieben
--wie lautet die syntax um das zu vermeiden?
         do shell script "zip -r " & quoted form of POSIX path of zipfile & " " & quoted form of POSIX path of ExpandFolderPath
         
      end if
   end repeat
end open
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 03.02.2010 - 23:51    Titel: Antworten mit Zitat

hallo -hans-
Ich habe mir mal ein Droplet gebastelt, das folder oder files nach Art des Mac OS "zipt" (also inklusive evtl. vorhandener resourcen). Dazu kann man das Archiv-Tool ditto verwenden. Aus dem Script solltest du dir die Syntax ableiten können:

on open droped
   -- ditto -ck --sequesterRsrc --keepParent myFolder myFolder.zip
   repeat with oneItem in droped
      if folder of (info for oneItem) then
         set shelloption to "--keepParent "
      else
         set shelloption to ""
      end if
      set parentfolder to POSIX file ((POSIX path of oneItem) & "/..") as alias
      set shellcommand to "ditto -ck --sequesterRsrc " & shelloption & quoted form of POSIX path of oneItem & space & quoted form of ((POSIX path of parentfolder) & (name of (info for oneItem)) & ".zip" as text)
      do shell script shellcommand
   end repeat
end open
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
-hans-
•-->
•-->


Anmeldedatum: 30.04.2009
Beiträge: 45

BeitragVerfasst am: 04.02.2010 - 12:13    Titel: Antworten mit Zitat

Vielen Dank Smile

Code:
on open these_items
   repeat with i from 1 to the count of these_items
      set this_Folder to item i of these_items
      if folder of (info for this_Folder) then
         try
            alias ((this_Folder as string) & "designmap.xml")
         on error
            display dialog ("Der Ordner " & this_Folder as string) & " enthält nicht alle erforderlichen XML-Dateien." & return & "Die IDML-Datei lässt sich eventuell nicht öffnen." giving up after 5
         end try
         set parentfolder to POSIX file ((POSIX path of this_Folder) & "/..") as alias
         set shellcommand to "ditto -ck --sequesterRsrc " & quoted form of POSIX path of this_Folder & space & quoted form of ((POSIX path of parentfolder) & (name of (info for this_Folder)) & ".idml" as text)
         do shell script shellcommand
      else
         display dialog "Bitte nur Ordner auf das droplet ziehen."
      end if
   end repeat
end open
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter