• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Pfad auf Externe Festplatte festlegen

Friedlie

Granny Smith
Registriert
24.02.13
Beiträge
14
Hey Zusammen,
ich habe mich heute mal mit AppleScript befasst.
Nach langem hin und her klappt auch fast alles, aber eine Sache will einfach nicht! :(

Ich hab folgendes vor:
Es gibt einen Onlineshop, welcher eine e-mail sendet wenn eine Bestellung aufgegeben wird. Diese E-Mail enthält eine Rechnung als PDF. Diese möchte ich Speichern und gleichzeitig ausdrucken.

Das funktioniert auch alles ohne Probleme.

Als ich das ganze jedoch an den Mac angeschlossen habe, welcher die e-mail dann empfangen soll, bin ich auch ein problem gestoßen.

Aktuell werden die Rechnungen gespeichert in /User/XYZ/Downloads/
Nun sollen die Rechnungen aber auf eine Externen Festplatte gespeichert werden, welche ja nicht im /User/ Bereich liegt.

Ich hab auch probiert mit ../ weiter nach "vorne" zu kommen, jedoch gelange ich nicht auf meine Externe Festplatte.

Hier mal ein code snipped.
Code:
using terms from application "Mail"
    on perform mail action with messages theselectedMessages for rule theRule
       
        tell application "Mail"
            repeat with theMessage in theselectedMessages
                -- get the sender's name
                set senderName to extract name from theMessage's sender
                repeat with theAttachment in theMessage's mail attachments
                    set theYear to year of (current date)
                    set theMonth to month of (current date)
                    set theDay to day of (current date)
                   
                    set originalName to name of theAttachment
                   
                    set printName to theYear & "-" & theMonth & "-" & theDay & "_" & originalName
                   
                    set folder_path to "/Users/XYZ/Downloads/" & theYear & "-" & theMonth & "-" & theDay & "_" & originalName
                   
                    set file_path to (folder_path)
                   
                    try
                        save theAttachment in file_path
                    end try
                   
                    tell application "Preview"
                        --activate
                        --print folder_path
                        --quit
                    end tell
                   
                end repeat
            end repeat
        end tell
    end perform mail action with messages
end using terms from

Hat jemand eine Idee wie das klappen könnte?

Vielen Dank.
Chris
 

deloco

Weißer Winterkalvill
Registriert
14.11.07
Beiträge
3.505
Die Laufwerke werden unter OS X in "/Volumes" gemounted. Hilft das?
 

Friedlie

Granny Smith
Registriert
24.02.13
Beiträge
14
Die Laufwerke werden unter OS X in "/Volumes" gemounted. Hilft das?

Hey,
das hab ich bei meinen zahlreichen Google Suchen auch herausgefunden.
Hab das auch Probiert mit "/Volumes/ExternePlatte/" Jedoch hat das auch nicht geklappt. Leider.

Aber Danke.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo,

HFS- statt POSIX Pfade

Gruß

Code:
set folder_path to "ExterneFestplatte:" & theYear & "-" & theMonth & "-" & theDay & "_" & originalName
 

Friedlie

Granny Smith
Registriert
24.02.13
Beiträge
14
Hallo,

HFS- statt POSIX Pfade

Gruß

Code:
set folder_path to "ExterneFestplatte:" & theYear & "-" & theMonth & "-" & theDay & "_" & originalName

Hey,

Okay. Das habe ich mal probiert. Klappt auch bei mir im Downloadverzeichnis, Jedoch auf die Externe Platte komm ich nicht.
Hab dann mal probiert einfach nur in /Users/XYZ zu speichern bzw. in /Users aber das klappt auch nicht.
Ich hab auch mit dem HFS Pfaden probiert über ..: weiter zu kommen klappt auch nicht. und Volumes: erkennt er auch nicht.

Kann es ggf. an den Schreib/Lese Rechten liegen?

Alternativ probier ich aktuell aus, die Datei in /Users/XYZ/Downloads zu speichern und dann zu verschieben ;)

Danke.
Beste Grüße
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo und hmm...

es könnte sein, dass das gegen das aktuelle Sicherheitskonzept von OSX verstößt und tatsächlich einfach nicht möglich ist! Ich werde das mal testen und melde mich...

Gruß
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Noch mal hmm...

Habe kurz gegoogelt und tatsächlich scheint das Speichern von Email Anhängen mit AppleScript zumindest unter 10.8 Mountain Lion nur im Ordner "Downloads" möglich zu sein.
Bei mir in 10.9.1 geht es allerdings an jedem gewählten Ort.

Gruß
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Über Ordneraktionen lässt sich das auch nicht realisieren? Sprich: Ordneraktion für Download-Ordner erstellen, die entsprechende Rechnungen verschiebt.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Ja nee, das wird nicht nötig sein.
Es betrifft ja nur das Speichern der Anhänge. Mit einem an den Finder gerichteten Befehl oder besser einem eingebetteten Shell-Skript sollte sich der Anhang problemlos verschieben lassen.

Code:
using terms from application "Mail"
    on perform mail action with messages theselectedMessages for rule theRule
      
        set attachmentsFolder to (path to downloads folder) as string
        tell me to set datestamp to (do shell script "date \"+%Y-%m-%d_\"")
      
        tell application "Mail"
            repeat with theMessage in theselectedMessages
                try
                    repeat with theAttachment in theMessage's mail attachments
                        set originalName to name of theAttachment
                      
                        set file_path to attachmentsFolder & ":" & datestamp & originalName
                  
                        save theAttachment in file file_path
                      
                        tell me to do shell script "mv " & quoted form of (POSIX path of file_path) & " '/Volumes/Externe Festplatte'"
                      
                        (*
                        tell application "Preview"
                            --activate
                            --print folder_path
                            --quit
                        end tell
                        *)
                    end repeat
                end try
            end repeat
        end tell
    end perform mail action with messages
end using terms from
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Wenn Du es über die Shell machst, solltest Du vielleicht vorher prüfen, ob die externe Platte eingehängt ist. Sonst schreibst Du eventuell auf die lokale Platte (sollte aber normalerweise nicht vorkommen).
 

Friedlie

Granny Smith
Registriert
24.02.13
Beiträge
14
Hey,

also ich hab das jetzt so gelöst.
Das script erstellt einen Neuen ordnet in Downloads, darin wird die Datei gespeichert, und von da aus wird die Datei dann auf meine Externe Platte geschoben.
Dann wird der "Neue Ordner" wieder gelöscht.

So klappt das bei mir jetzt am besten.

Das mit dem Sichern von Mail aus...
Also ich hab aktuell 10.9 weiß nicht ob sich das bei 10.9.1 ändert oder vlt. ist es nur eine Einstellung?
Egal, bei mir klappt es jetzt.

Vielen Dank ;)

Und das mit dem ob die platte eingehängt ist, probier ich auch noch. Danke!