AppleScript: externe + interne Festplatte heissen gleich

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
wie kann ich klar machen, dass ich z.b. dateien von der internen auf die externe festplatte kopieren will, die aber gleich heissen?
von
HD:Benutzer:Name:Library:Application Support:iCal
nach
iPod:Backup

was nun, wenn die HD beispielsweise iPod heisst?

natürlich wäre es die einfachsteste lösung die externe festplatte umzubenennen, aber das geht aus div. gründen nicht.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ich weis zwar nicht ob das in AppleScript überhaupt geht, aber ich habe da gewisse Zweifel. Warum heissen die beiden Volumes auch gleich? Selbst mit dem POSIX Path könntest Du Dich nicht darauf verlassen, daß die Volumes immer ident zugeordnet werden. Dort ist dann eines als iPod und eines als iPod 1 im Filesystem eingehängt. Aber auch hier kannst Du nicht davon ausgehen, daß iPod immer der eine und iPod 1 immer das andere Volume ist.

Die einzige zuverlässige Lösung wäre wirklich zumindest ein Volume umzubenennen. Da werden sich die diversen Gründe wohl davon überzeugen lassen müssen.
Gruß Pepi
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Die Boot-Festplatten von all unseren Rechnern heissen "Macintosh HD". Wenn ich nun die des einen auf dem anderen (via Airport) mounte, erscheint sie dort unter "/Volumes/Macintosh HD-1" o.ae.; und diese Nummerierung hat pepi ja auch schon genannt.

Ich glaube, man kann es so zusammenfassen: Du kannst dann von einer immer gleichen Verteilung der Namen ausgehen, wenn Du sicher bist, dass das System die Platten immer in derselben Reihenfolge zu sehen bekommt.

Und wenn das nicht gewaehrleistet ist, dann musst Du halt einen kleinen Diagnose-Kniff einbauen, um festzustellen, wer wer ist. Da koennte die Kapazitaet nuetzlich sein oder eine kleine Indikator-Datei oder so.
 

space

Neuer Berner Rosenapfel
Registriert
02.12.05
Beiträge
1.949
Ich hatte das mal (aus interesse) mit AS versucht. Die "-1" interessiert AS gar nicht. Bei mir ging es ohne den Zusatz problemlos ... eventuell, da der Zielordner (wäre ja in diesem Fall "Backup") nur auf einer der beiden Volumes existierte.

Doch das ist keine Garantie, dass das bei dir und vor allem immer klappt. Probiere es einfach mal aus :)
Ansonsten stimme ich dem bisher geschriebenen zu.

Gruss
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
wie sieht denn der ordner /volumes/ aus, wenn du die festplatte anschließt?
 

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
@atelis: dort heissen beide gleich, wobei die externe festplatte zusatz hat: leerschlag 1

ist ja wieder mal ein prompter service. vielen dank an alle. klappt leider nicht (sowohl mit -1 [einfach leerschlag 1 ebenfalls] als auch wenn der andere ordner nicht existiert). werde wohl nicht um den diagnose-tip herumkommen.
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Hallo,

was liefert denn folgendes im Ergebnis?

tell application "Finder"
return every disk
end tell


mfg pi26
 

ArrowDebreu

Klarapfel
Registriert
24.01.07
Beiträge
281
{startup disk of application "Finder", disk "Network" of application "Finder", disk "Name der Festplatte" of application "Finder"}
mehr nicht
kein zusatz oder sonstiges beim namen
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Naja, du kannst die disks numerisch ansprechen (1 ist immer Startup).

z.B.

tell disk 1

end tell

Wenn dann noch mehrere gleichnamige vorkommen können hilft wohl nur noch Detailanalyse z.B. "if capacity of disk 2"...


mfg pi26
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
[...]Da koennte die Kapazitaet nuetzlich sein oder eine kleine Indikator-Datei oder so.
Die Kapazität ist wohl bei zwei gleichen iPods auch gleich, daher als Unterscheidungskriterium wenig aussagekräftig. Ein Tag-File anzulegen könnte helfen, macht jedoch die Lösung des ganzen Problems unnötig viel komplexer wenns doch mit umbenennen getan ist. Was ist wenn jemand das Tag löscht und so weiter...

wie sieht denn der ordner /volumes/ aus, wenn du die festplatte anschließt?
Der Ordner heißt /Volumes, mit großem Vau. Unix ist grundsätzlich Case-sensitive, das bedeutet, daß "v" und "V" definitiv zwei unterschiedliche Zeichen sind. HFS+ ist Case-Aware, das bedeutet, daß die Darstellung von "v" und "V" unterschieden und korrekt wiedergegeben wird, der Case eines Buchstabens alleine jedoch nicht als Unterscheidungskriterium genügt.
HFSX ist eine HFS Variante die tatsächlich Case-sensitiv ist, sie könnte also tatsächlich zwei Ordner die "Volumes" und "volumes" heißen als eigene Objekte voneinander unterscheiden. Für das unter Mac OS X ebenfalls bootfähige UFS gilt das Selbe.

Naja, du kannst die disks numerisch ansprechen (1 ist immer Startup).[...]Wenn dann noch mehrere gleichnamige vorkommen können hilft wohl nur noch Detailanalyse z.B. "if capacity of disk 2"...[...]
Das einzige worauf Du Dich verlassen kannst ist, daß Dein Startvolume die 1 bekommt. Alle weiteren Disks werden in der Reihenfolge des Mountens durchnummeriert. Wer weis was passiert wenn man dann zwischendurch ein Volume wieder unmountet, oder ein drittes Volume mit diesem Namen (Beispiel Macintosh HD) ins Spiel kommt? Werden Nummern recycelt oder nach einem Ruhezustand neu vergeben? Du kannst es nicht zuverlässig und definitiv und vor allem reproduzierbar unterscheiden.
Beispiel mit der Kapazität, siehe oben.

Gruß Pepi
 

pi26

Adams Parmäne
Registriert
17.12.04
Beiträge
1.297
Das einzige worauf Du Dich verlassen kannst ist, daß Dein Startvolume die 1 bekommt.

Richtig, wie gesagt.

Und dann kommt es halt auf die Anforderungen an -- d.h. welche Volumes ins "Spiel" kommen können. Aber mit einer Abfrage des CreationDate und Capacity sollte dann doch in den allermeisten Fällen die Eindeutigkeit sichergestellt sein.
Und es muss nicht jedenfalls sein, dass ein Umbennen problemlos ist -- z.B. wenn Dokumente von Layoutprogrammen dann eine Aktualisierung aller verbundenen Bildpfade anfordern.

mfg pi26
 

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Die Kapazität ist wohl bei zwei gleichen iPods auch gleich, daher als Unterscheidungskriterium wenig aussagekräftig.
Wenn's dasselbe iPod-Modell ist, stimmt das auffallend. In der Originalfrage hiess es aber, es ginge um eine interne Platte. Vielleicht weisst Du mehr ueber das tatsaechliche Problem als ich; aber daraus hatte ich abgeleitet, dass es eben nicht um einen zweiten iPod geht, sondern nur um ein zweites Volume, das denselben Namen traegt wie der iPod.

Koennte natuerlich eine Partition sein, die genauso gross ist wie der iPod. Aber dann koennte man deren Groesse ja um ein paar Byte variieren, wenn man denn in die Kapazitaetsloesung total verliebt waere.

Ein Tag-File anzulegen könnte helfen, macht jedoch die Lösung des ganzen Problems unnötig viel komplexer wenns doch mit umbenennen getan ist. Was ist wenn jemand das Tag löscht und so weiter...
Und das stimmt noch viel auffallender. Wo er aber doch extra danach gefragt hatte... ;)

Vielleicht ist ArrowDebreu ja gar nicht einfach bloss doof, sondern hat tatsaechlich einen Grund fuer seine Benamsungstaktik. Ich z.B. hab' naemlich auch meine Gruende, warum unsere Mac-Boot-Volumes alle "Macintosh HD" heissen -- obwohl das manchmal unpraktisch ist.
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
egal ob ipods oder interne platten: kann man nicht irgendwie die seriennummer auslesen? es gibt doch programme, die sowas anzeigen können, also muss das doch irgendwo stehen??