[AppleScript:]Ordner erstellen

maceis

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
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.
 
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
 
  • Gefällt mir
Reaktionen: maceis
Herzlichen Dank nochmal.
Das Erstellen des Ordners ist mir gerade sebst schon gelungen.
Den Rest werde ich gleich testen - sieht aber gut aus.
 
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.
 
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
 
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
 
Zurück
Oben Unten