[AppleScript:]Ordner erstellen

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von maceis, 21.03.2007.

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    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.
     
  2. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.806
    Zustimmungen:
    938
    MacUser seit:
    06.06.2006
    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
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Herzlichen Dank nochmal.
    Das Erstellen des Ordners ist mir gerade sebst schon gelungen.
    Den Rest werde ich gleich testen - sieht aber gut aus.
     
  4. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    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.
     
  5. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    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
     
  6. little_pixel

    little_pixel MacUser Mitglied

    Beiträge:
    3.806
    Zustimmungen:
    938
    MacUser seit:
    06.06.2006
    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
     
Die Seite wird geladen...

Diese Seite empfehlen