Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

kopie einer datei unter neuem namen

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
bernd
•->
•->


Anmeldedatum: 28.01.2002
Beiträge: 3

BeitragVerfasst am: 29.01.2002 - 01:35    Titel: kopie einer datei unter neuem namen Antworten mit Zitat

Ich erstelle gerade ein script, das u.a. eine datei kopiert und ihr einen neuen namen zuweist. Im prinzip ist das ja kein problem:

copy item vorlagenDatei to folder zielOrdner
set the name of file dateiName of folder zielOrdner to neuerDateiname

Dabei ist 'vorlagenDatei' die kopiervorlage, 'zielordner' irgendein ordner, der vorab vom user selectiert wurde und 'neuerDateiname' ein definierter neuer name für die datei. Soweit, so gut.

Das problem ist der dateiname der kopie. Bei deutscehm OS heißt die kopierte datei "originalname Kopie", bei englischem "originalname Copy" usw...
Ich muss auch andere tests fahren, um herauszubekommen, wie die kopie heißen wird, bevor ich sie kopiere, um im anschluss nicht die falsche zu erwischen. Liegt beispielsweise in einem ordner als vorlagendatei die datei "test.txt" und bereits eine weitere datei mit dem namen "test.txt Kopie", heißt die kopie "test.txt Kopie Kopie" usw...
Ähnliche probleme gibt es bei langen dateinamen...

Meine frage ist nun:
Kann ich den namen der kopie von vorneherein bestimmen?
Also in etwa so: kopiere die datei x in den ordner mit den neuen namen y

Geht das irgendwie?

Ferner ist mir der unterschied von 'copy' und 'duplicate' nicht so ganz klar. Kann mir das jemand erklären?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 29.01.2002 - 10:23    Titel: kopie einer datei unter neuem namen Antworten mit Zitat

Moin,

fangen wir am Ende an. Wg. 'copy' und 'duplicate' hatten wir schon einmal einen Thread. Ich war seinerzeit ein wenig überrascht denn das Finder-Dictionary der Classic-Umgebung (Finder Vers. D2 9.2) gibt folgende Auskunft:

copy : Copy the selected items to the clipboard (the Finder must be the front application)
copy  -- no direct parameter required

Ich würde zumindest im klassischen OS 'duplicate' bzw. 'move' verwenden. Zu OS X müssen Andere Auskunft geben.

Nun zur Ausgangsfrage. Wiederum ein Ausschnitt aus dem Finder-Dictionary (jaja, ruhig mal reinschauen und lesen!)

duplicate : Duplicate one or more object(s)
duplicate  reference -- the object(s) to duplicate
[to location reference] -- the new location for the object(s)
[replacing boolean] -- Specifies whether or not to replace items in the destination that have the same name as items being duplicated
[routing suppressed boolean] -- Specifies whether or not to autoroute items (default is false). Only applies when copying to the system folder.
Result : reference -- to the duplicated object(s)

Und siehe da, wir erhalten als result eine reference auf die neuen Objekte. Aufgrund der reference sollte es nun kein Problem mehr sein den entsprechenden Namen zu erhalten, oder?

Gruß,
Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
bernd
•->
•->


Anmeldedatum: 28.01.2002
Beiträge: 3

BeitragVerfasst am: 29.01.2002 - 11:53    Titel: kopie einer datei unter neuem namen Antworten mit Zitat

Erstmal danke für die schnelle antwort.

Da ich momentan nur ganz kurz zeit habe eine verständnissfrage:
Es ist also so, dass ich zuerst die datei über 'duplicate' dupliziere und dann über die referenz (alias???) die datei umbenenne. Eine vorherige vergabe des namens ist offenbar nicht möglich. Ist das richtig?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 29.01.2002 - 12:20    Titel: kopie einer datei unter neuem namen Antworten mit Zitat

Ja, so ist es, zumindest lt. Finder-Dictionary.

(Geändert von Folker um 11:22 Uhr am 29 Jan. 2002)

Achso, die referenz ist ein alias-Verweis. Via 'as string' ('as text') könntest Du einen Pfad in Textform erhalten. Ist aber nicht nötig in diesem Fall!


set temp to (choose file)
tell application "Finder" to set name of (duplicate temp) to "neu.txt"


(Geändert von Folker um 11:26 Uhr am 29 Jan. 2002)


(Geändert von Folker um 11:27 Uhr am 29 Jan. 2002)
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
bernd
•->
•->


Anmeldedatum: 28.01.2002
Beiträge: 3

BeitragVerfasst am: 29.01.2002 - 18:35    Titel: kopie einer datei unter neuem namen Antworten mit Zitat

Vielen dank folker, das war genau das, was ich wollte!

(*------ snip ------*)
set x to 1
repeat (number of items of the dateiNamenListe) times
try
tell application "Finder" to set name of (duplicate item vorlagenDatei to folder zielOrdner without replacing) to ¨
((item x of the dateiNamenListe) & dateiSuffix)
on error
display dialog "Fehler beim Anlegen der Datei " & return & (item x of the dateiNamenListe) buttons "OK" default button 1
return
end try
set x to (1 + x)
end repeat
(*------ snip ------*)

Der vorgang ist nun nicht nur schneller, sondern das script ist auch wesentlich kürzer und übersichtlicher geworden, da ich nun weniger überprüfungen machen muss.

Jedenfalls bin ich begeistert, was alles so möglich ist. Das script, an dem ich mich gerade versuche, tut folgendes:
- auslesen einer textdatei, in der pro zeile ein dateiname steht (ca. 2500 dateinamen!)
- duplizieren einer vorlagendatei und benennen mit einem neuen dateinamen aus der liste
- optional anhängen eines suffix
- schreiben einer logdatei

Ich muss dazu sagen, dass ich mich erst seit kurzem mit applescript beschäftige. Meine vorgehensweise ist dabei sehr pragmatisch - soll heißen, ich ging bisher mit den kenntnissen, die ich von lingo, supercard und javascript her habe an die scripte heran und versuchte mich anhand von beispielscripten, die ich so fand, an den gewünschten effekt heranzutasten, bzw den einen oder anderen arbeitsschritt zu automatisieren.

An dieser stelle endete bis jetzt mein ehrgeiz. Nun möchte ich etwas tiefer einsteigen, weshalb ich nun auch das forum nutze.

Dummerweise kursieren im netz eine menge an scripten, die ziemlich umständlich geschrieben sind. Gerade für mich als anfänger sind sie häufig irreführend, da sie kaum oder schlecht kommentiert sind, bzw. bescheuert geschrieben sind. Die art und weise, eine datei zu duplizieren, und dann dem duplikat ("originalname Kopie") nachträglich einen neuen namen zu geben, habe ich von einem anderen script (incl. der prüfroutinen bezüglich des duplikatnamens) übernommen. Der vorschlag von Dir ist da nicht nur wesentlich eleganter, sondern eleminiert auf die schnelle mal gut und gerne 10 zeiel code und läuft auch tatsächlich schneller. Erst langsam komme ich so an den punkt, die spreu vom weizen trennen zu können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter