• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Ein Blick aus dem Fenster verrät es: Der Lenz ist da. Passenderweise wird auch der Frühling unser Thema für das Foto des Monats. Hier geht es lang --> Klick

Apple Script Ordner mit Dateiendeung erstellen

super6862

Erdapfel
Registriert
21.01.14
Beiträge
2
Hallo,

ich möchte mit einem Apple Script meine Dateianhänge in Mail in verschiedene Unterordner speichern lassen.
Diese Unterordner sollen automatisch nach Dateiendungen benannt werden.

Ich schaffe es aber nicht den Unterordner nach der Dateiendung zu benennen.

Hat hier jemand Rat ?

Vielen Dank schon mal.


hier mein Ansatz:

using terms from application "Mail"

on perform mail action with messagestheMessagesfor ruletheRule



tell application "Finder"

set folderName to "Downloads"

set homePath to (path to home folder as text) as text

set attachmentsFolder to (homePath & folderName) as text

end tell



tell application "Mail"

repeat with eachMessage in theMessages

set attachCount to count of (mail attachments of eachMessage)



(* !!! Hier komme ich nicht weiter !!!*)

(* Es soll ein Unterordner erstellt werden, der den Namen der Dateiendung trägt*)

set subFolder to ("Attachment_extension")


if attachCount is not equal to 0 then

-- use the unix /bin/test command to test if the timeStamp folder exists. if not then create it and any intermediate directories as required

if (do shell script "/bin/test -e " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder) & " ; echo $?") is "1" then

-- 1 is false

do shell script "/bin/mkdir -p " & quoted form of ((POSIX path of attachmentsFolder) & "/" & subFolder)

end if

try

repeat with theAttachment in eachMessage'smail attachments

set originalName to name of theAttachment

set savePath to attachmentsFolder & ":" & subFolder & ":" & originalName

try

savetheAttachmentinfile (savePath)

end try

end repeat

end try

end if

end repeat

end tell

end perform mail action with messages

end using terms from

on pad(n)

return text -2 thru -1 of ("0" & n)

end pad
 

sedna

Schweizer Glockenapfel
Registriert
22.10.08
Beiträge
1.375
Hallo,

das hast du wohl aus irgendwelches Skripten im Netz zusammengebastelt - was ja auch ok ist
smile15x18.gif

Hier eine ungetestete "überarbeitete" Version:

Code:
using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule   
        set attachmentsFolder to (path to downloads folder) as string       
        tell application "Mail"         
            repeat with eachMessage in theMessages            
                try
                    repeat with theAttachment in eachMessage's mail attachments                  
                        set originalName to name of theAttachment
                        set savePath to attachmentsFolder & ":" & originalName
                        save theAttachment in file savePath
                        set subFolder to name extension of (get info for (savePath as alias))
                        tell me
                            do shell script "mkdir -p " & quoted form of (POSIX path of attachmentsFolder) & subFolder
                            do shell script "mv " & quoted form of (POSIX path of savePath) & space & quoted form of (POSIX path of attachmentsFolder) & subFolder
                        end tell
                    end repeat
                end try
            end repeat
        end tell
    end perform mail action with messages
end using terms from

Und das nächste mal bitte im "richtigen" Bereich posten

Gruß
 

super6862

Erdapfel
Registriert
21.01.14
Beiträge
2
Vielen lieben Dank für die schnelle und kompetente Hilfe.
Entschuldigung für den falschen Bereich. Ich gelobe Besserung.

Gruß