• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Dateien in Ordner Verschieben und danach ausführen

speci

Schweizer Glockenapfel
Registriert
21.10.06
Beiträge
1.379
Hallo Forum,
ich habe mich schon bei google etc. umgeschaut und wenn es um das Thema Applescript geht seit ihr ja immer Nummer 1

Ich habe folgendes Szenario:
Im Keller einen MacMini mit Snowleopard auf dem Dropbox läuft (einfach nur ein Ordner den ich über das Internet befüllen kann).

Ich möchte nun, dass wenn ich in den Ordner eine Datei einfüge das diese in einen anderen Ordner verschoben wird und danach ausgeführt wird.

Für das Ausführen habe ich folgendes schon gefunden:

Code:
Code:
on adding folder items to this_folder after receiving added_items 
   try 
      tell application "Finder" 
         open item 1 of added_items 
      end tell 
   end try 
end adding folder items to

Dies sollte dann ja das erforderliche Programm öffnen.

Aber was muss ich für das "stumpfe" verschieben machen ohne Rückfragen?

Gruß
Martin

P.s.: Den Ordner in den die Dateien verschoben werden lösche ich manuell.
 
das wäre eine mögliche lösung:

Code:
on adding folder items to this_folder after receiving added_items
	set myDestination to "$HOME/Dahin_willst_du_die_dateien_verschieben"
	--$HOME löst zu '/Users/deinbenutzername' auf, wenn du leerzeichen verwenden willst, musst du sie mit \\ escapen, also z.b. "$HOME/mein\\ ordner"
	--oder du escapest die leerzeichen nicht und unkommentierst folgende zeile, geht auch.
	--set myDestination to (do shell script "echo " & myDestination)
	
	repeat with aItem in added_items
		try
			try
				do shell script ("test -d " & quoted form of (POSIX path of myDestination) ¬
					& "|| mkdir -vp " & quoted form of (POSIX path of myDestination))
			on error e
				display alert "kann " & POSIX path of myDestination & " nicht erstellen." message e as warning buttons {"OK"} cancel button "OK"
			end try
			do shell script ("mv -fv " & quoted form of (POSIX path of aItem) ¬
				& quoted form of (POSIX path of myDestination) & "/"¬
				& "&& open " & quoted form of (POSIX path of myDestination) & "/$(basename " & quoted form of (POSIX path of aItem) & ")")
			--wenn es unbedingt der finder ausführen soll, ersetze "&& open " durch "&& open -a finder "
			--oder, um es mit einer anderen anwendung auszuführen geht auch "&& open -a name_der_anwendung "
			
		on error e
			display alert "verschieben von " & POSIX path of aItem & " nach " & POSIX path of myDestination & " fehlgeschlagen." message e as warning buttons {"OK"} cancel button "OK"
		end try
	end repeat
	
end adding folder items to
 
Zuletzt bearbeitet:
Sollte aber auch so gehen oder:

Code:
tell application "Finder"
move file "osx:martin:Dropbox:todl" to "osx:martin:Dokumente"
end tell

osx = Festplatte
martin = Benutzer

Gruß
Martin
 
Und wie?
Weil ich hab da bisher noch keine Ahnung von ... :(
 
An das Teil hab ich mich noch gar nicht rangetraut :(