• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Folder-Icons per AppleScript ändern

F0X1786

Westfälische Tiefblüte
Registriert
29.01.11
Beiträge
1.068
Hallo liebes AT-Forum,

ich habe hier im Forum ein kleines AppleScript als droplet gefunden, welches mir Icons von Ordnern wechseln lässt. Jedoch fragt dieses Script nach ein Icon-File.

Nun möchte ich von über 200 Ordnern die Icons ändern (keine identischen Icons!). Jedoch liegt das png-File schon in dem Ordner drin. Jetzt würde ich um Hilfe bitten, wer mir Tipps geben kann wie ich das Script so ändern kann, dass es in den Ordner nach einem png-File sucht und dieses verwendet, anstatt es ein Wahl-Dialog öffnet.

Die Ordner-Struktur sieht so aus:

../OrdnerXX/File1.xx
../OrdnerXX/File3.xx
../OrdnerXX/File3.xx
../OrdnerXX/folder.png

Und folder.png soll als Folder-Icon definiert werden.

So sieht das Script bis jetzt aus:
Code:
[COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433FF][B]open[/B][/COLOR][COLOR=#4F8F00]finder_objects[/COLOR]    
    [B]set[/B] [COLOR=#4f8f00]myIcon[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#012fbe][B]choose file[/B][/COLOR] [COLOR=#012fbe]with prompt[/COLOR] "Icon wählen:" [COLOR=#012fbe]of type[/COLOR] {"PNG", "JPG", "GIF", "ICNS"})
    
    [B]set[/B] [COLOR=#4f8f00]myDocumentFolder[/COLOR] [B]to[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#012fbe][B]path to[/B][/COLOR] [COLOR=#331e65]documents folder[/COLOR] [COLOR=#012fbe]as[/COLOR] [COLOR=#0433ff][I]string[/I][/COLOR])
    
    [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]i[/COLOR] [B]from[/B] 1 [B]to[/B] [B]the[/B] [COLOR=#0433ff][B]count[/B][/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR]
        
        [B]set[/B] [COLOR=#4f8f00]tmpFile[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR])
        
        [COLOR=#012fbe][B]do shell script[/B][/COLOR] [COLOR=#4f8f00]myDocumentFolder[/COLOR] & "SetFileIcon -image " & [COLOR=#4f8f00]myIcon[/COLOR] & " -file " & [COLOR=#4f8f00]tmpFile[/COLOR]
    [B]end[/B] [B]repeat[/B]
    
[B]end[/B] [COLOR=#0433FF][B]open[/B][/COLOR]

Ich habe es mit getRecursiveFiles probiert, aber ich kriege es einfach nicht hin.


Hoffentlich kann mir hier jemand helfen.

Vielen Dank
 
Probier's mal so (ungetestet):

Code:
[COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433FF][B]open [/B][/COLOR][COLOR=#4F8F00]finder_objects
[/COLOR]    [B]set[/B] [COLOR=#4f8f00]myDocumentFolder[/COLOR] [B]to[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#012fbe][B]path to[/B][/COLOR] [COLOR=#331e65]documents folder[/COLOR] [COLOR=#012fbe]as[/COLOR] [COLOR=#0433ff][I]string[/I][/COLOR])
    
    [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]i[/COLOR] [B]from[/B] 1 [B]to[/B] [B]the[/B] [COLOR=#0433ff][B]count[/B][/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR]
        [B]set[/B] [COLOR=#4f8f00]myIcon[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] (([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR] [B]as[/B] [COLOR=#0433ff][I]string[/I][/COLOR]) & "folder.png")
        
        [B]set[/B] [COLOR=#4f8f00]tmpFile[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR])
        
        [COLOR=#012fbe][B]do shell script[/B][/COLOR] [COLOR=#4f8f00]myDocumentFolder[/COLOR] & "SetFileIcon -image " & [COLOR=#4f8f00]myIcon[/COLOR] & " -file " & [COLOR=#4f8f00]tmpFile[/COLOR]
    [B]end[/B] [B]repeat[/B]
    
[B]end[/B] [COLOR=#0433FF][B]open[/B][/COLOR]
 
  • Like
Reaktionen: ImperatoR und F0X1786
Funktioniert perfekt! Danke.

Noch eine weitere Frage. Wenn ich dem AppleScript sagen möchte, dass es irgendeine png Datei aus dem Ordner nehmen soll. Wie stell ich das an?

Bin ich so schon auf dem richtigen Weg?

Code:
[B]property[/B] [COLOR=#4F8F00]PNG_extension[/COLOR] : "png"[COLOR=#4F8F00][COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433ff][B]open[/B][/COLOR][COLOR=#000000] [/COLOR]finder_objects[/COLOR]
	[B]set[/B] [COLOR=#4f8f00]myDocumentFolder[/COLOR] [B]to[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#012fbe][B]path to[/B][/COLOR] [COLOR=#331e65]documents folder[/COLOR] [COLOR=#012fbe]as[/COLOR] [COLOR=#0433ff][I]string[/I][/COLOR])
	
	[B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]i[/COLOR] [B]from[/B] 1 [B]to[/B] [B]the[/B] [COLOR=#0433ff][B]count[/B][/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR]
		[B]set[/B] [COLOR=#4f8f00]myIcon[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] (([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR] [B]as[/B] [COLOR=#0433ff][I]string[/I][/COLOR]) & "*." & [COLOR=#4f8f00]PNG_extension[/COLOR])
		
		[B]set[/B] [COLOR=#4f8f00]tmpFile[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR])
		
		[COLOR=#012fbe][B]do shell script[/B][/COLOR] [COLOR=#4f8f00]myDocumentFolder[/COLOR] & "SetFileIcon -image " & [COLOR=#4f8f00]myIcon[/COLOR] & " -file " & [COLOR=#4f8f00]tmpFile[/COLOR]
	[B]end[/B] [B]repeat[/B]
	
[B]end[/B] [COLOR=#0433FF][B]open
[/B][/COLOR]
 
Zuletzt bearbeitet:
Kannst du sicher sein, dass nur eine PNG-Datei in dem jeweiligen Ordner ist? Dann könnte sowas funktionieren:

Code:
[COLOR=#000000][B]on[/B] [/COLOR][COLOR=#0433FF][B]open [/B][/COLOR][COLOR=#4F8F00]finder_objects[/COLOR]    
    [B]set[/B] [COLOR=#4f8f00]myDocumentFolder[/COLOR] [B]to[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#012fbe][B]path to[/B][/COLOR] [COLOR=#331e65]documents folder[/COLOR] [COLOR=#012fbe]as[/COLOR] [COLOR=#0433ff][I]string[/I][/COLOR])
    
    [B]repeat[/B] [B]with[/B] [COLOR=#4f8f00]i[/COLOR] [B]from[/B] 1 [B]to[/B] [B]the[/B] [COLOR=#0433ff][B]count[/B][/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR]
        
        [B]set[/B] [COLOR=#4f8f00]myFolder[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] [COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR] [B]as[/B] [COLOR=#0433ff][I]string[/I][/COLOR])
        
        [B]set[/B] [COLOR=#4f8f00]myIcon[/COLOR] [B]to[/B] [COLOR=#812fdc]quoted form[/COLOR] [B]of[/B] ([COLOR=#812fdc]POSIX path[/COLOR] [B]of[/B] ([COLOR=#0433ff][I]item[/I][/COLOR] [COLOR=#4f8f00]i[/COLOR] [B]of[/B] [COLOR=#4f8f00]finder_objects[/COLOR] [B]as[/B] [COLOR=#0433ff][I]string[/I][/COLOR]) & ([COLOR=#012fbe][B]do shell script[/B][/COLOR] "ls " & [COLOR=#4f8f00]myFolder[/COLOR] & "| grep .png"))
        
        [COLOR=#012fbe][B]do shell script[/B][/COLOR] [COLOR=#4f8f00]myDocumentFolder[/COLOR] & "SetFileIcon -image " & [COLOR=#4f8f00]myIcon[/COLOR] & " -file " & [COLOR=#4f8f00]myFolder[/COLOR]
        
    [B]end[/B] [B]repeat[/B]
    
[B]end[/B] [COLOR=#0433FF][B]open[/B][/COLOR]
 
  • Like
Reaktionen: F0X1786