Definierte Dateien automatisch kopieren

C

chq

Mitglied
Thread Starter
Dabei seit
18.01.2005
Beiträge
1.423
Reaktionspunkte
0
Hallo!

Ich hätte gerne, dass sich folgende Dateien bei jedem Systemstart automatisch in einen von mir definierten Ordner kopieren, nachdem die gleichnamigen sich zuvor in dem Ordner befindlichen Dateien in einen weiteren Ordner verschoben haben, wo sie ebenfalls gleichnamige Dateien überscheiben (wer den Satz nicht versteht muss ihn halt einfach nochmal lesen ;) ):

iTunes Library, iTunes Music und iTunes Music Library.xml

Da ich meinen eigentlichen iTunes Ordner auf einer zweiten Platte habe und ich ca. einmal im Monat ein komplettes Backup meiner Musik mache, wäre es toll, wenn sich diese o.a. Dateien automatisch auf diese Platte kopieren würden, damit sich die in Zukunft sozusagen gleich "mitbackupen". Da ich ich mir zudem wünschen würde dass ich diese Daten, in ihrem Zustand wie sie vor dem letzten Neustart waren, auch noch habe, wäre es cool, wenn diese in einen zweiten Ordner verschoben werden würden.

Reihenfolge:

1. Alte Daten verschieben sich von Ordner X in Ordner Y (beide nicht auf Systemplatte) und überschreiben dabei die dort vohandenen gleichnamigen Daten.

2. Die von iTunes abgelegten Daten (die im Userverzeichnis) kopieren sich in Ordner X.

Ergebnis soll sein: In Ordner Y sind nach der Aktion die Daten, die bis zum vorletzten Runterfahren des Rechners von iTunes erzeugt wurden, in dem Ordnern X die Daten, die iTunes bis zum letzten Herunterfahren des Rechners erzeugte.
Wenn im Anschluß dann mit iTunes gearbeitet wird, verändern sich ja bereits schon wieder die Daten im Userordner.

Wie macht man das?

PS: Hab Angst vorm Terminal, kleinen Fremdanbieterprogrämmen die ins System eingreifen und kenn mich mit Scripten nicht aus. :( :rolleyes:
 
Zuletzt bearbeitet:
Gib doch mal genau diese Bewegungskette an. In welchem Ordner fängt das an, und was soll mit den Dateien in dem ersten Ordner passieren? Welches Ereignis soll das auslösen, oder wird im ersten Ordner "von Hand" bewegt...paar Infos wären ganz gut.

Grüße,
Flo
 
PS: Hab Angst vorm Terminal, kleinen Fremdanbieterprogrämmen die ins System eingreifen und kenn mich mit Scripten nicht aus.

Dann wird es ganz schwierig :)

Automator ist ein Tool auf deinem Rechner mit dem man solche Sachen machen kann. Wenn ich mir allerdings die Zielverzeichnisse deiner Aenderungen anschaue bezweifle ich, das Automator das kann.

Am einfachsten waere es die Mucke komplett neu in iTunes zu importieren (nicht zu rippen sondern den Speicherort von iTunes verwalten lassen und die files dazu in die von iTunes vorgesehene Struktur kopierne zu lassen und sich dabei den xml File und das DB File neu erzeugen zu lassen).

Anschliessend musst du nur noch die Mucke die du so Importiert hast am alten Speicherplatz loeschen. Deine Musik liegt dann in der Struktur ~/Music/iTunes/iTunes Music/Interpret/Album und deine Dtenbank ist auf dem neuesten Stand.

Der Vorteil dieser Methode ist, das du kein Terminal, kein Fremdanbieterprogramm und kein Script braauchst sondern nur iTunes.
 
Geschriebener Text wurde der Übersichtlichkeit halber für "Neuleser" oben mitangehängt. ;)
 
Zuletzt bearbeitet:
Geht das echt nicht?

(Sorry fürs Hochschieben, aber ich kanns/ wills (!?) garnicht glauben, dass es nicht funktioniert. :( )
 
chq schrieb:
Geht das echt nicht?

(sorry fürs Hochschieben, aber ich kanns garnicht glauben :( )

Klar geht sowas, aber wer glaubt nicht mal ein bisschen auf Hilfe warten zu können, muss sich selbst helfen, oder lernen sich in Geduld zu üben.

Grüße,
Flo (der gerade den Scripteditor zumacht und sich gemütlich vor die Glotze setzt)
 
lengsel schrieb:
Klar geht sowas, aber wer glaubt nicht mal ein bisschen auf Hilfe warten zu können, muss sich selbst helfen, oder lernen sich in Geduld zu üben.

Grüße,
Flo (der gerade den Scripteditor zumacht und sich gemütlich vor die Glotze setzt)

Viel Spass vor der Glotze.
 
Nach einem gemütlichen Fernsehabend, jetzt mal auf die Schnelle:

Code:
do shell script "rm /Users/Username/Desktop/OrdnerY/test_y.txt"

do shell script "mv /Users/Username/Desktop/OrdnerX/test_x.txt /Users/Username/Desktop/OrdnerY/test_x.txt"

do shell script "cp /Users/Username/Desktop/OrdnerA/test_a.txt /Users/Username/Desktop/OrdnerX/test_a.txt"

Zur Erklärung:
Die erste Zeile löscht die Datei "test_y.txt" im Ordner Y
dann wird in Zeile zwei die Datei "test_x.txt" vom Ordner X in den Ordner Y verschoben.
Zu guter Letzt wird in Zeile 3 aus dem Ordner A (dem eigentlichen Quellordner) die Datei test_a.txt in den Ordner X kopiert.

Wenn das so Deiner Logik entspricht muss man eigentlich nur noch die Pfade anpassen und gut ist. Ob es sich um eine oder mehrere Dateien handelt spielt für das Skript eigentlich keine Rolle.

Grüße,
Flo
 
Vielen Dank für Deine Bemühungen trotz meiner Ungeduld.

Ich danke Dir.

Werds demnächst austesten.

Gruss chq
 
Fehlermeldung:

AppleScriptFehler:

rm: /Volumes/MEDIA/03: No such file or directory
rm: Musik/iTunes: No such file or directory
rm: Backups/alt/iTunes: No such file or directory
rm: Library: is a directory

Mein Script:

do shell script "rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library"

do shell script "mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library"

do shell script "cp /Users/chq/Music/iTunes/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library"

do shell script "rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml"

do shell script "mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml"

do shell script "cp /Users/chq/Music/iTunes/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml"

Meine zweite Platte heißt MEDIA.

Ich verstehe nicht, wo das Problem liegt. :( :( :(

Zur Info: Mit diesem Script möchte ich iTunes Library und iTunes Music Library.xml auf MEDIA in zwei "Altersstufen" verteilen. Der Ordner "alt" liegt dabei von der Hierarchie her im Ordner "iTunes Backups".

Kann es u.U. sein, dass iTunes Library nicht kopiert werden kann?
 
Zuletzt bearbeitet:
Das Problem sind die Leerzeichen in den Pfaden.
Setze vor jedes Leerzeichen innerhalb eines Dateipfades ein \
oder setze den Dateipfad vollständig in einfache '

Ich empfehle Dir außerdem dringend zumindest am Anfang von allen Dateien/Verzeichnissen eine Kopie anzulegen, damit Du bei Fehlern keine Daten verlierst.
 
maceis schrieb:
...den Dateipfad vollständig in einfache '...

Dürfte am einfachsten sein.

Es ist übrigens auch hilfreich wenn Du nicht den selben Beitrag immer wieder editierst, sondern Neue schreibst. Man wird nämlich sonst nicht vom System per Mail benachrichtigt.

Grüße,
Flo
 
Vielen Dank für Eure Antworten.

Könnt Ihr mir evtl. anhand einer Zeile schreiben, wie Ihr das genau meint? :(

So...

do shell script "rm /Volumes/MEDIA/03\Musik/iTunes\Backups/alt/iTunes\Library"

...anstatt so...

do shell script "rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library"

??

Was meint Ihr mit ...den Dateipfad vollständig in einfache '...? :(
 
chq schrieb:
do shell script "rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library"

Code:
do shell script 'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'

ausserdem muss dem rm wenn Du nicht nur eine Datei, sondern einen Ordner löschen willst ein -r folgen, also:

Code:
do shell script 'rm -r /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'

Das sollte es sein.

Grüße,
Flo
 
Ich möchte keine Ordner löschen, das ohne -r müsste also erstmal passen.

Mein Script sieht jetzt so aus:

do shell script 'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'

do shell script 'mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'

do shell script 'cp /Users/chq/Music/iTunes/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library'

do shell script 'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml'

do shell script 'mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml'

do shell script 'cp /Users/chq/Music/iTunes/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml'

Wenn ich es speichern möchte, kommt allerdings immer folgende Fehlermeldung:

Es wurde „„given“, „in“, „of“, Ausdruck, „with“, „without“, anderer Parametername, etc.“ erwartet, aber ein „Unbekanntes Token“ wurde gefunden.

:( :( :(

Sorry für mein Generve, aber so ein Script würde ich echt klasse finden.

Wo ist der Fehler?
 
chq schrieb:
Ich möchte keine Ordner löschen...

Doch das willst Du, denn das steht hier:

chq schrieb:
...
do shell script 'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'
...

Der Pfad den Du dem Script übergibst ist der Pfad zu einem Ordner.
Dateien tragen ein Suffix wie z.B. .txt, .xml, .htm, etc....
Syntax: Dateiname.Suffix

Grüße,
Flo
 
Mit, oder ohne -r

...es geht nicht.

Ich glaub, ich geb auf.

Schade. :(

Trotzdem vielen Dank Ingsel

Wenn man iTunes Library anklickt, steht da, dass das eine Datenbankdatei ist- Endung unbekannt. :rolleyes: :( :mad:
 
Ein kleiner Flüchtigkeitsfehler könnte Dein Problem sein.

Probier mal:

Code:
do shell script "'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'"

Natürlich braucht AS die " " nach do shell script damit es weiss was der Teil ist der an den Terminal übergeben werden soll. Zusätzlich kommen die ' ' zur Pfadmaskierung dazu.

Grüße,
Flo
 
do shell script "'rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'"

do shell script "'mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'"

do shell script "'cp /Users/chq/Music/iTunes/iTunes Library /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Library'"

do shell script "'m /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml'"

do shell script "'mv /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Music Library.xml'"

do shell script "'cp /Users/chq/Music/iTunes/iTunes Music Library.xml /Volumes/MEDIA/03 Musik/iTunes Backups/iTunes Music Library.xml'"

=

sh: line 1: rm /Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library: No such file or directory

An dieser Stelle liegt wie eh und je eine iTunes Library Datei!

Kann es sein, dass es so heissen müsste:

do shell script "rm '/Volumes/MEDIA/03 Musik/iTunes Backups/alt/iTunes Library'"
 
Noch was: Nachdem Du ja offensichtlich den ganzen iTunes-ordner sichern willst, könntest Du auch einfach sowas machen:

Code:
do shell script "cp -r '/Users/chq/Music/iTunes/*.*' '/Volumes/MEDIA/03 Musik/iTunes Backups/'"

cp bedeutet kopieren
-r bedeutet rekursiv, also nicht nur Dateien sondern auch Ordner
dann folgen die Pfade (Quelle > Ziel, wobei beide Pfade natürlich Ordnerpfade sind)
*.* ist ein Platzhalter für o.g. Dateisyntax, und heisst in dieser Form: jeder Dateiname.jedes Suffix (wenn eine Datei tatsächlich keins hat dürfte das eigentlich nichts machen)

D.h. kopiere alles was sich im Ordner /Users/chq/Music/iTunes/ befindet in den Ordner /Volumes/MEDIA/03 Musik/iTunes Backups/

Grüße,
Flo

P.S.:
gelöscht weil blöd...
 
Zurück
Oben Unten