Aus mehreren Ordnern InDesign Dateien raussuchen

prom0e

Neues Mitglied
Thread Starter
Dabei seit
03.04.2014
Beiträge
6
Reaktionspunkte
0
Hallo,
bzw. guten Morgen :sleep:

und zwar habe ich folgendes Problem:
Ich habe viele Ordner in denen mehrere Dateien sind (meistens: 1 InDesign Datei und ein paar Bilder)
jetzt möchte ich, ohne immer jeden einzelnen Ordner zu öffnen, alle InDesign Dateien in einem Fenster anzeigen lassen. (warscheinlich auch mit Hilfe von Aliassen oder kopieren und dann in 1 Ordner auf dem Desktop packen)
Am besten das ganze als Droplet, sodass man die gewünschte Anzahl an Ordnern drauf ziehen kann und dann alle InDesign Dateien gesammelt werden.

Jetzt habe ich das schon versucht, allerdings funktioniert mein Programm noch nichtmal beim verschieben der InDesign Dateien. Auch die Abfrage ob der Ordner schon existiert funktioniert nicht (Damit nicht jedesmal versucht wird ein neuen Ordner zu erstellen). Vielleicht überseh ich auch irgendwas :confused:

Die auskommentierten Zeilen sind nur versuche die nicht funktioniert haben. Dann hab ich versucht das Programm ein bisschen einfacher zu gestalten um zu gucken wo der Fehler liegt.

Code:
on open xFolder
    
(*
if not (exists ("Aliasse der .idd-Dateien")) then
        tell application "Finder" to make new folder at desktop with properties {name:"Aliasse der .idd-Dateien"}
    end if
*)

    set destFolder to choose folder
    try
        set allItems to every file of xFolder
        repeat with i in allItems
            tell application "Finder" to set nameExt to name extension of i
            if nameExt = "indd" then
                move i to destFolder
                
(*    make new alias file of i at destFolder
                
set f to make alias of i
                move f to destFolder
*)
                
            end if
        end repeat
    on error errMsg number errNr
        display alert (errNr as text) & return & (errMsg as text)
        
    end try
    
end open

Vielen Dank für jede Hilfe im voraus!!! :)
MfG
 
Ich würde einfach die Findersuche benutzen. ^^
 
Ich würde einfach die Findersuche benutzen. ^^

Leider funktioniert das nicht immer zuverlässig. :)
Es passiert immer wieder, dass manche InDesign Dateien dabei nicht mit angezeigt werden. Ich weiß auch nicht warum das passiert, da alle Dateien die Endung ".indd" haben.
Trotzdem danke für die schnelle Antwort
 
Ich habe es jetzt geschafft, dass alle .indd Dateien kopiert werden und das Fenster anschließend angezeigt wird. Allerdings kommt ein Fehler wenn ich Ordner auf das Droplet ziehen will.
Der Fehler der auftaucht:
-1728 "{alias "Macintosh HD:Users:....:(Ordnername):"} whose <<class nmxt>> of it = "indd"" kann nicht gelesen werden

Und wenn ich es nicht als Droplet benutze funktioniert es, allerdings kann ich nur 1 Ordner auswählen.
Jemand eine Idee ob das auch mit mehreren Ordner möglich ist?

Code:
on open xFolder
    --set xFolder to choose folder
    set destFolder to choose folder
    
    try
        tell application "Finder" to duplicate (every item of xFolder whose name extension is "indd") to destFolder
        tell application "Finder" to open destFolder
    on error errMsg number errNr
        display alert (errNr as text) & return & (errMsg as text)
    end try
end open

Jede Hilfe ist willkommen.
MfG
 
Zuletzt bearbeitet:
Hallo,

dein Problem ist, dass das Droplet immer ein Liste an Ordnern empfängt, selbst wenn kein oder ein Ordner auf das Programm gezogen wird. Diese Liste muss man mit einer Schleife (repeat) durchgehen.

Ich habe dein Skript mal verbessert (ungetestet):

Code:
[COLOR=#5E6161][FONT=Verdana]-- Wird bei Doppelklick ausgeführt:
[/FONT][/COLOR][FONT=Verdana][B]on[/B] [COLOR=#0433ff][B]run[/B][/COLOR][/FONT]
[FONT=Verdana]    [B]set[/B] [COLOR=#4f8f00]theFolders[/COLOR] [B]to[/B] [COLOR=#012fbe][B]choose folder[/B][/COLOR] [COLOR=#012fbe]with prompt[/COLOR] "Wählen Sie die zu durchsuchenden Ordner aus: " [B]with[/B] [COLOR=#012fbe]multiple selections allowed[/COLOR][/FONT]
[FONT=Verdana]    [B]set[/B] [COLOR=#4f8f00]destFolder[/COLOR] [B]to[/B] [COLOR=#012fbe][B]choose folder[/B][/COLOR] [COLOR=#012fbe]with prompt[/COLOR] "Wählen Sie den Zielordner aus: "[/FONT]
[COLOR=#4F8F00][FONT=Verdana]duplicateFilesToFolder[COLOR=#000000]([/COLOR]getFilesFromFolders[COLOR=#000000]([/COLOR]theFolders[COLOR=#000000]), [/COLOR]destFolder[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#0433ff][B]open [/B][/COLOR]destFolder[/FONT][/COLOR]
[FONT=Verdana][B]end[/B] [COLOR=#0433ff][B]run[/B][/COLOR][/FONT]

[COLOR=#5E6161][FONT=Verdana]-- Wird beim Droppen ausgeführt[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433ff][B]open [/B][/COLOR]theFolders[/FONT][/COLOR]
[COLOR=#012FBE][FONT=Verdana][COLOR=#000000]    [B]set[/B] [/COLOR][COLOR=#4f8f00]destFolder[/COLOR][COLOR=#000000] [B]to[/B] [/COLOR][B]choose folder[/B][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana]duplicateFilesToFolder[COLOR=#000000]([/COLOR]getFilesFromFolders[COLOR=#000000]([/COLOR]theFolders[COLOR=#000000]), [/COLOR]destFolder[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#0433ff][B]open [/B][/COLOR]destFolder[/FONT][/COLOR]
[FONT=Verdana][B]end[/B] [COLOR=#0433ff][B]open[/B][/COLOR][/FONT][FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- Gibt alle Dateien mit der Endung "indd" zurück, die sich in den ausgewählten Ordnern[/FONT][/COLOR]
[COLOR=#5E6161][FONT=Verdana]-- befinden[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR]getFilesFromFolders[COLOR=#000000]([/COLOR]theFolders[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[FONT=Verdana]    [B]tell[/B] [COLOR=#0433ff][I]application[/I][/COLOR] "Finder"[/FONT]
[FONT=Verdana]        [B]set[/B] [COLOR=#4f8f00]theFiles[/COLOR] [B]to[/B] {}[/FONT]
[FONT=Verdana]        [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]aFolder[/COLOR] [B]in[/B] [COLOR=#4f8f00]theFolders[/COLOR][/FONT]
[FONT=Verdana]            [B]if[/B] [COLOR=#0433ff][I]class[/I][/COLOR] [B]of[/B] [COLOR=#4f8f00]aFolder[/COLOR] [B]is[/B] [COLOR=#0433ff][I]folder[/I][/COLOR] [B]then[/B][/FONT]
[FONT=Verdana]                [B]set[/B] [B]end[/B] [B]of[/B] [COLOR=#4f8f00]theFiles[/COLOR] [B]to[/B] ([B]every[/B] [COLOR=#0433ff][I]item[/I][/COLOR] [B]of[/B] [COLOR=#4f8f00]aFolder[/COLOR] [B]whose[/B] [COLOR=#812fdc]name extension[/COLOR] [B]is[/B] "indd")[/FONT]
[FONT=Verdana]            [B]end[/B] [B]if[/B][/FONT]
[FONT=Verdana]        [B]end[/B] [B]repeat[/B][/FONT]
[FONT=Verdana]        [B]return[/B] [COLOR=#4f8f00]theFiles[/COLOR][/FONT]
[FONT=Verdana]    [B]end[/B] [B]tell[/B][/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]end[/B] [/COLOR]getFilesFromFolders[/FONT][/COLOR][FONT=Verdana]
[/FONT]
[COLOR=#5E6161][FONT=Verdana]-- Kopiert Dateien in den Zielordner[/FONT][/COLOR]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#000000][B]on[/B] [/COLOR]duplicateFilesToFolder[COLOR=#000000]([/COLOR]fileList[COLOR=#000000], [/COLOR]theFolder[COLOR=#000000])[/COLOR][/FONT][/COLOR]
[FONT=Verdana]    [B]tell[/B] [COLOR=#0433ff][I]application[/I][/COLOR] "Finder"[/FONT]
[FONT=Verdana]        [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]anItem[/COLOR] [B]in[/B] [COLOR=#4f8f00]fileList[/COLOR][/FONT]
[COLOR=#4F8F00][FONT=Verdana][COLOR=#0433ff][B]duplicate [/B][/COLOR]anItem [COLOR=#0433ff]to [/COLOR]theFolder[/FONT][/COLOR]
[FONT=Verdana]        [B]end[/B] [B]repeat[/B][/FONT]
[FONT=Verdana]    [B]end[/B] [B]tell[/B][/FONT]
[COLOR=#000000][FONT=Verdana][B]end[/B] [/FONT][/COLOR][COLOR=#4F8F00][FONT=Verdana]duplicateFilesToFolder[/FONT][/COLOR]
 
Zurück
Oben Unten