Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
reinheimer •-->

Anmeldedatum: 04.04.2001 Beiträge: 26 Wohnort: near Frankfurt
|
Verfasst am: 24.09.2001 - 15:23 Titel: nur neue dateien kopieren |
|
|
Ich habe das unten stehende Script. Dies funktioniert auch einwandfrei, bis auf die Tatsache, dass es seinen Dienst verweigert, wenn am Zielort die Dateien bereits existieren. Ist es denn möglich, nur die neuen Dateien zu kopieren, dann dürfte der Fehler ja nicht mehr auftreten. ???
tell application "Finder"
activate
select items of folder "Test24092001:" of startup disk
copy (items of selection) to folder "Test24092001" of folder "Dirk" of disk "NetworkVolume"
end tell |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 24.09.2001 - 16:21 Titel: nur neue dateien kopieren |
|
|
Hallo,
habe ich da irgend etwas nicht mitbekommen? Der Copy-Befehl kopiert lt. meinem Finder-dictionary "the selected items to the clipboard". Das funzt auf Windows im Falle von ganzen Dateien zwar sehr bequem (leider ohne AppleScript!) - doch meinem Mac will das nicht gelingen.
Die Befehle "move" bzw. "duplicate" können für solch eine Operation verwendet werden. Diese Befehle haben u.a. den Parameter "replacing boolean". Damit lässt sich steuern ob vorhandene Dateien (mit gleichen Namen) ohne Rückfrage überschrieben werden sollen. Wenn das denn egal ist, könnte es so schon reichen.
Anderenfalls läuft es auf eine kleine Backup-Lösung hinaus. Es müssten die Namen der in beiden Ordnern vorhandenen Dateien verglichen werden. Das wird ein Tick aufwändiger...
Gruß,
Folker _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 24.09.2001 - 18:56 Titel: nur neue dateien kopieren |
|
|
Hab's gerade mal ausprobiert.
Das funktioniert tatsächlich mit 'copy'.
Eventprotokoll:
tell application "Finder"
activate
select every item of folder "Test24092001" of startup disk
--> {file "Ordner entleeren" of folder "Test24092001" of startup disk, file "Busymans AS" of folder "Test24092001" of startup disk, file "Format Scriptcode for Ikonbard" of folder "Test24092001" of startup disk}
copy every item of selection to folder "Test24092001" of folder "Dirk" of disk "Musik"
--> {file "Ordner entleeren" of folder "Test24092001" of folder "Dirk" of disk "Musik", file "Busymans AS" of folder "Test24092001" of folder "Dirk" of disk "Musik", file "Format Scriptcode for Ikonbard" of folder "Test24092001" of folder "Dirk" of disk "Musik" }
end tell
Das waren jetzt 3 Skripte, die kopiert wurden.
Ist zwar erstaunlich, ich würde jedoch auch dazu raten, die Befehle 'duplicate' oder 'move' zu verwenden. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 01.03.2003 - 14:51, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 25.09.2001 - 08:16 Titel: nur neue dateien kopieren |
|
|
Wow Snow,
ich bin total geplättet - wenn ich eines an Windows mag ist es genau die Funktion händisch Dateien via Clipboard auf andere LW zu kopieren. Beim Mac (wenn "auch nur" via AS) haut es mich wirklich um - ist das ein BUG oder Vorbote neuer Funktionalität? Gibt es irgendwo eine Dokumentation dieses Features?
Gruß,
Folker
PS: reinheimer, verwende besser die im Dictionary dafür dokumentierten Befehle - man weiß ja nie ... _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
reinheimer •-->

Anmeldedatum: 04.04.2001 Beiträge: 26 Wohnort: near Frankfurt
|
Verfasst am: 29.10.2001 - 14:46 Titel: nur neue dateien kopieren |
|
|
Jetzt habe ich es wie folgt, bekomme aber die Meldung "replacing can't go after this....."
tell application "Finder"
activate
select items of folder "test:" of startup disk
copy every item of selection to folder "test2:" of startup disk with replacing
end tell |
|
Nach oben |
|
 |
DanB •-->


Anmeldedatum: 22.11.2000 Beiträge: 38 Wohnort: Weertzen, Niedersachsen
|
Verfasst am: 29.10.2001 - 17:19 Titel: nur neue dateien kopieren |
|
|
Setze in deinem Skript mal "duplicate" statt "copy" ein, dann sollte es flutschen _________________ danB
[url]mailto:danB@advancedscripting.de[/url]
http://www.advancedscripting.de |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 29.10.2001 - 22:27 Titel: nur neue dateien kopieren |
|
|
Auf ganzer Linie falsch:
a) Prüfe ob Datei existiert und entscheide wenn ja, was zu tun ist (z.B.: In den Papierkorb legen)
tell application "Finder" if (exists file "path_to_file_as_text" ) then
-- delete file "path_to_file_as_text"
end
b) Nun kann die neue Datei kopiert werden:
tell app "Finder" to copy file "path_to_original_filepath" to folder "path_to_upper_folder_of_destination_file"
--> Result: file reference to "new_file_at_upper_folder_destination"
("Macintosh HD:Dokumente:neue Datei") z.B.
Siehe auch : Inside Macintosh - > File Manager
c) Immer nach einem logischen Algorithmus verfahren. AppleScript nimmt an, dass ihr das tut!
Wenn es eine Liste mit Dateien gibt, die kopiert werden sollen, muss man dass mit jedem einzelnen Element der Liste durchführen, also in einem repeat-loop, der durch die Menge der Elemente läuft.
Gruß aus Prag,
Thomas _________________ [macgix] |
|
Nach oben |
|
 |
|