[AppleScript:]Ordner erstellen

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Hallo zusammen,

    ich möchte gern folgendes in AppleScript realisieren.

    Es soll geprüft werden, ob es einen Ordner gibt.
    Wenn nein, soll der Ordner erstellt werden.
    Anschließend sollen alle Dateien in einem anderen Ordner, die eine bestimmte Dateiendung haben, in den neu erstellten (oder schon vorhandenen Ordner) verschoben werden.

    Als Shellskript wär das kein problem für mich.
    In AppleScript habe ich leider zu wenig Erfahrung dafür.

    Danke im voraus.
     
    maceis, 21.03.2007
    #1
  2. little_pixel

    little_pixel MacUser Mitglied

    Mitglied seit:
    06.06.2006
    Beiträge:
    4.010
    Zustimmungen:
    1.002
    Blubb,

    Variablen bitte selbst initalisieren bzw. deklarieren.

    Code:
    tell application "Finder"
    	if exists folder MeinOrdner then
    		try
    			set suchErgebnis to (items of sucheImParentFolder whose name extension is in {"tiff", "tif", "jpeg", "jpg", "pic", "pict", "gif"})
    			move every item of suchErgebnis to pfadZuCoverOrdner
    		end try
    	else
    		try
    			make new folder at (Hier) with properties {name:"OrdnerName"}
    		end try
    		try
    			set suchErgebnis to (items of sucheImParentFolder whose name extension is in {"tiff", "tif", "jpeg", "jpg", "pic", "pict", "gif"})
    			move every item of suchErgebnis to pfadZuCoverOrdner
    		end try
    	end if
    end tell
    
    Viele Grüße
     
    little_pixel, 21.03.2007
    #2
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Herzlichen Dank nochmal.
    Das Erstellen des Ordners ist mir gerade sebst schon gelungen.
    Den Rest werde ich gleich testen - sieht aber gut aus.
     
    maceis, 21.03.2007
    #3
  4. maceis

    maceis Thread Starter MacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Ich bekomm's leider nicht hin.
    Erhalte immer den Fehler:
    Code:
    „Finder“ hat einen Fehler erhalten: Die Routine kann Objekte dieser Klasse nicht bearbeiten.
    Der entsprechden Skript Teil sieht so aus:
    Code:
    tell application "Finder"
    	set zipfiles to (items of myfolder whose name extension is "zip")
    	[color=red]move every item of zipfiles to zipfolder[/color]
    end tell
    display dialog zipfiles as string
    Allerdings ist auch die Variable "zipfiles" leer, obwohl ich mir ziemlich sicher bin, dass z.B. myfolder richtig initialisiert ist.

    Woran kann's liegen?
    Googlen hat nich leider auch nicht weitergebracht.
     
    maceis, 21.03.2007
    #4
  5. maceis

    maceis Thread Starter MacUser Mitglied

    Mitglied seit:
    24.09.2003
    Beiträge:
    16.696
    Zustimmungen:
    602
    Hab's jetzt doch noch hinbekommen:
    Sieht jetzt bei mir so aus:
    Code:
    tell application "System Events"
    	set zipfiles to every file of folder (myfolder as string) whose name extension is "zip"
    end tell
    repeat with i from 1 to the count of zipfiles
    	set this_file to (item i of zipfiles as alias)
    	tell application "Finder"
    		move document file this_file to folder (zipfolder as string)
    	end tell
    end repeat
     
    maceis, 22.03.2007
    #5
  6. little_pixel

    little_pixel MacUser Mitglied

    Mitglied seit:
    06.06.2006
    Beiträge:
    4.010
    Zustimmungen:
    1.002
    Hallo maceis,

    ich soeben mal nachgeschaut, was die Ursache war:

    Code:
    set myfolder to alias myfolderZuvor
    
    Dann könnte die Stelle "(myfolder as string)" entfallen.
    Das mit dem Alias ist immer ein bisschen leidiges Thema.

    Viele Grüße
     
    little_pixel, 22.03.2007
    #6
Die Seite wird geladen...