• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Move file (via shell script)

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Hallo Forum,
ich habe jetzt noch eine Frage, nur zum Spaß, zum verschieben von Datein.
Also ich möchte mehrere files, die ich ausgewählt habe, in einen Ordner verschieben.
Das möchte ich aber über einen shell script Befehl.
Nicht über "move (choose file) to (choose folder)".
So lautet mein Script!

Code:
tell application "Finder"
	
	activate
	set file1 to choose file with multiple selections allowed
	set end2 to (choose folder with prompt "Save to...")
	
	
	
end tell
tell application "Finder"
	do shell script "mv " & (quoted form of POSIX path of file1) & " " & (quoted form of POSIX path of end2 as string)
end tell

Bei einem file ist alles ok aber wenn ich mehrere auswählen will zeigt er eine Error meldung.
Wie kann ich beim shell script Befehl im sagen, dass er mehere files verschieben soll?

X.
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
the x-master schrieb:
Bei einem file ist alles ok aber wenn ich mehrere auswählen will zeigt er eine Error meldung.
Wie kann ich beim shell script Befehl im sagen, dass er mehere files verschieben soll?

X.

Hallo X,

'mv' akzeptiert als Verschiebequelle nur ein Argument - das kann der Pfad zu einer einzelnen Datei sein oder wenn du Wildcards '*' verwendest, auch mehrere. Die Angabe mehrerer unterschiedlicher Dateien als Argument geht meines Wissens nach nicht.
Du musst mv also einzeln füttern - entweder per AppleScript-Repeat oder per Shell-Script:

So geht's z.B. mit AppleScript:


Code:
tell application "Finder"
	activate
	set thefiles to choose file with multiple selections allowed
	set end2 to (choose folder with prompt "Save to...")
end tell

repeat with thisFile in thefiles
	do shell script "mv " & (quoted form of POSIX path of thisFile) & " " & (quoted form of POSIX path of end2 as string)
end repeat

Grüße,

D.
 

the x-master

Riesenboiken
Registriert
29.01.06
Beiträge
290
Vielen Dank, pete und Daisy.
Das ist die Antwort die ich wollte.
Und, ja, pete ich werde mich jetzt auch mal mit der Editor Bibliothek beschäftigen! :)

X.