Ordner aufräumen mit AppleScript & Automator - Dienst geht nicht via ShortCut

U

Undertaker885

Registriert
Thread Starter
Dabei seit
09.07.2014
Beiträge
2
Reaktionspunkte
0
Hallo liebe Applescript-Jünger,

ich habe gerade frisch mit Applescript angefangen und habe mir meinen ersten Daten-Sortier-Dienst gebaut.

Das AppleScript funktioniert Skript-Editor einwandfrei. Auch im eingeblendeten Automator via Ausführen funktioniert es.

Nun habe ich den Dienst an eine Tastenkombination gebunden, um diesen aufzurufen. Dies funktioniert auch, in dem die entsprechenden Dialogfenster geöffnet werden, jedoch erfolgt dann keine weitere Verarbeitung der Daten. Es erfolgt auch keine Fehlermeldung.

Im Debugging des Dienstes erhalte ich dann die Fehlermeldung "Syntaxfehler. "every file" kann nicht gelesen werden." Es handelt sich wohl um diese Scriptstelle (setallItemstoeveryfileofmyFolder)

Hat jemand eine Ahnung wo hier der Fehler liegt. Wäre für jede Hilfe dankbar.

Viele Grüße,
Martin

Anbei mein Code:
__________________________________________________________________________________

on run {input, parameters}

display dialog "Welche Art von Dateien sind im Ordner" buttons {" Musik "} default button 1 giving up after 5
set DialogResult_DataType to result


if button returned of DialogResult_DataType = " Musik " then
display dialog "Mehrere CDs vorhanden?" buttons {" Ja ", " Nein "} default button 2 giving up after 5
set DialogResult_MultipleDisc to result
if button returned of DialogResult_MultipleDisc = " Ja " then
set DialogResult_DiscInfoPosi to text returned of (display dialog "Disc-Number Position" default answer " 1 " giving up after 5) as integer
end if
end if


if button returned of DialogResult_DataType = " Musik " then

set myFolder to input as item
tell application "Finder"
set allItems to every file of myFolder

repeat with f in allItems
set fn to name of f--File incl. Extension
set fEx to name extension of f-- File Extension
if fEx is not "CUE" and fEx is not "FLAC" and fEx is not "MP3" and fEx is not "MP4" and fEx is not "JPG" then
move f to trash
set rc to "Del" as text
else
set rc to "OK" as text
end if

if button returned of DialogResult_MultipleDisc = " Ja " then
if rc is "OK" then
set baseName to (characters 1 thru -((length of fEx) + 2) of fn) as text -- File excl. Extension
set folderName to ("CD" & characterDialogResult_DiscInfoPosi of baseName) as text
set existingFolders to (folders of myFolder whose name begins with folderName)
try
if existingFolders is {} then
set newFolder to makenewfolderatmyFolderwith properties {name:folderName}
else
set newFolder to item 1 of existingFolders
end if
moveftonewFolder--Datei verschieben
on error
display dialog "Fehler bei dem Verschieben der Dateien"
end try
end if
end if
end repeat
end tell

end if

return input
end run
__________________________________________________________________________________
 
Zuletzt bearbeitet:
Ich rate mal dass es schlicht und einfach an geschützten oder versteckten Dateien liegt (die mit dem "." am Anfang.
Keinen Plan ob AppleScript die selber ausblendet...

Oder es liegt daran, dass im Ordner nichts drin ist was er lesen darf oder kann.

Am Starten kann es nach meiner Meinung nicht liegen.
 
Versuch's statt
set allItems to every file of myFolder
mal mit
set allItems to every item of myFolder

Ciao
Farid
 
Vielen Dank für die bisherigen Tipps. Aber leider war mein Code nicht richtig.

Mein steckt an dieser Stelle:
...
set myFolder to input as item
tell application "Finder"
set allItems to every file of myFolder ...

Er kennt "to every nicht". Wie muss ich den Input des Dienstes definieren?

Viele Grüße!
 
Zurück
Oben Unten