• 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

Mehrere Alias-Dateien gleichzeitig neu zuweisen

Lupus

Idared
Registriert
28.12.07
Beiträge
27
Hallo,

wegen einer defekten externen Festplatte musste ich vor kurzem meine gesamten Dateien auf eine neue externe Festplatte übertragen. Darunter befinden sich viele Alias Dateien, die auf die selbe externe Festplatte verweisen. Beim Übertragen auf die neue Festplatte sind natürlich die Pfade nicht mitgeändert worden. Gibt es eine Möglichkeit mehrere Alias Dateien zuzuweisen, ohne jede einzelne manuell ändern zu müssen?
Es handelt sich konkret um einen Ordner mit "best ofs" mit Alias Dateien, die auf Fotos in einem "Geschwisterordner" zeigen.
Es wäre interessant zu wissen, ob es eine möglich gibt, in Zukunft relative statt absolute Pfade zu verwenden.

Herzlichen Dank
Lupus
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
Ich greife das Thema auf, da ich nach einer Mavericks-Neuisntallation dasselbe Problem habe: 600 Aliasse, die ich nicht einzelnd neu verknüpfen möchte! (Die Orginaldateien stecken im Nachbarordner - mit 1200 weiteren.)
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Da würde sich ein AppleScript anbieten. Wenn du mir sagst, wie deine Ordnerstruktur aussieht, kann ich dir dabei helfen.
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
Hallo Pill,

Pardon für die späte Antwort, die Benachrichtigung ist im Spam-Ordner gelandet.
Die Alias befinden sich in:
user/Musik/Native Instruments/Absynth 5/Favorites​
Die Originalen befinden sich in verschiedenen Unterordner von
macHD/Library/ApplicationSupport/Native Instruments/Absynth 5/Sounds

Verschiedene Unterordner heißt: im Ordner Sounds gibt es die Unterordner Absynth 4, Absynth 5, Absynth Legacy, Absynth Spectral Expansion, Absynth Twilights. Der Favorites-Ordner beherbergt also meinen persönlichen Sounds-Geschmack ausgewählt aus den tausenden Fabrikpresets von Absynth.
ich bin gespannt!!! :)
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Benutzt du zur Kopie von ganzen Volumes die "Wiederherstellen" Funktion im FP-DP, und änderst danach auch den Volumenamen nicht, dann stellt sich diese Problematik gar nicht erst.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Ich brauch von dir je ein Beispiel für einen alten Pfad und einen neuen Pfad. Beispiel:

alter Pfad: /Volumes/Meine Dateien/Dokumente/
neuer Pfad: /Users/Name/Dokumente/

Skript:

Code:
property subs : "'s/^:Volumes:Meine Dateien:/Macintosh HD:Users:Name:/'"

set theAliases to (choose file with multiple selections allowed)

tell application "Finder"
   repeat with anAlias in theAliases
       set orgPath to original item of anAlias as string
       set newPath to do shell script "echo '" & orgPath & "'|sed " & subs
       set original item of anAlias to alias newPath
   end repeat
end tell
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
Hallo Pill,

als Beispiel : die Presetdatei des Synthezisers Absynth5.app "Rusty Percussion.nabs"

Das Alias befindet sich in:
Hannes/Benutzer/MeinName/Dokumente/Native Instruments/Absynth 5/Favorites/

Original im alten wie auf dem neuen MBP:
Hannes/Library/Application Support/Native Instruments/Absynth 5/Sounds/Absynth 5/Instruments/

zweites Beispiel: die Presetdatei "candrum.nabs"

Das Alias wie oben im selben Ordner /Favorites/

Das Original befand sich auf dem alten MBP:
Hannes/Library/Application Support/Native Instruments/Absynth 5/Sounds/Absynth 3/

Das Original finde ich auf dem neuen MBP:
Hannes/Library/Application Support/Native Instruments/Absynth 5/Sounds/Absynth Legacy/

drittes Beispiel: die Presetdatei "Slyghtly Downwards.nabs"

Das Alias wie oben im selben Ordner /Favorites/

Das Original befand sich auf dem alten MBP:
Hannes/Library/Application Support/Native Instruments/Absynth 5/Sounds/Absynth 4/Instruments

Das Original finde ich auf dem neuen MBP nun unter:
Hannes/Library/Application Support/Native Instruments/Absynth 5/Sounds/Absynth Legacy/

Die Neuinstallation von Native Instruments auf dem neuen MBP hat eine neue Preset-Ordnerstruktur geschaffen: was früher noch aufgeteilt war in Absynth3 und 4 fällt mit der Absynth-Version 5 alles unter Absynth Legacy. Und die 387 Aliasse zeigen nicht auf den Legacy Ordner und auch nicht auf den Absynth 5/Instruments Ordner.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Das Skript sollte dann folgendermaßen funktionieren:

Code:
set subs to "'s/:Absynth [34]\\(:Instruments\\)\\{0,1\\}/:Absynth Legacy/g'"
set theAliases to (choose file with multiple selections allowed)

tell application "Finder"
   repeat with anAlias in theAliases
       set orgPath to original item of anAlias as string
       set newPath to do shell script "echo '" & orgPath & "'|sed " & subs
       set original item of anAlias to alias newPath
   end repeat
end tell

Bitte vorher an Kopien der originalen Alias Dateien testen. Das Skript fragt dich nach den Alias Dateien und ersetzt dann den Pfad für alle angegeben Alias Dateien.
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
Hi, ich habe den Code ins AppleScript-Fenster kopiert, und ausgeführt, an Kopien der originalen Alias-Dateien ausprobiert. Es kommt sofortiger AppleScript-Fehler:
"class orig" of item 1 of {alias "Hannes:Users:MeinName:Documents:Native Instruments:Absynth 5:Favorites Kopie:Candrum.nabs Alias"} kann nicht in Typ string umgewandelt werden."

bzw. direkt aus dem Ergebnisfenster:
error "class orig" of item 1 of {alias "Hannes:Users:MeinName:Documents:Native Instruments:Absynth 5:Favorites Kopie:Candrum.nabs Alias"} kann nicht in Typ string umgewandelt werden." number -1700 from "class orig" of item 1 of {alias "Hannes:Users:MeinName:Documents:Native Instruments:Absynth5:Favorites:Candrum.nabs ALias"} to string

Der Fehler kommt bei Mehrfach- wie Einfach-auswahl vor, bei den Kopien wie bei den Originalen.
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Scheint so, als ob bei fehlender Originaldatei die Originaldatei zwar noch im Info-Fenster angezeigt wird, aber nicht mehr per AppleScript abrufbar ist. Das macht die ganze Sache deutlich komplizierter. In meiner Testumgebung funktioniert folgendes Skript:

Code:
set subs to "'s/:Absynth [34]\\(:Instruments\\)\\{0,1\\}/:Absynth Legacy/g'" -- sed regex

set theAliases to (choose file with multiple selections allowed)
repeat with theFile in theAliases
   set orgPath to getOriginalItem(theFile) -- get original path 
   set newPath to alias (do shell script "echo " & quoted form of orgPath & " | sed " & subs) -- substitute path
   tell application "Finder"
       set theName to name of theFile
       set theFolder to container of theFile
       delete theFile-- delete old alias
       make alias at theFolder to newPath with properties {name:theName} -- create new alias
   end tell
end repeat

on getOriginalItem(theFile)
   -- get first & last word of file path
   set theExtension to name extension of (info for theFile)
   set AppleScript's text item delimiters to ":"
   set theDisk to ""
   set i to 1
   repeat until theDisk is not in {""}
       set theDisk to text item i of (theFile as string)
       set i to i + 1
   end repeat
   set i to 0
   set AppleScript's text item delimiters to ""
   -- get original path from file
   set thePath to (do shell script "LC_CTYPE=C cat -v " & quoted form of POSIX path of theFile & "| grep -Eo '" & theDisk & ":[^.]*." & theExtension & "' | sed 's/\\^.//g'")
   return thePath
end getOriginalItem
 

Sir Hannes

Kaiser Wilhelm
Registriert
21.09.09
Beiträge
174
Hallo Pill, ich habe Deinen Code erneut ins Applescript eingefügt, laufen lassen und es ergibt wieder einen Fehlercode:
"AppleScript Fehler: „alias ""“ kann nicht gelesen werden."

Meine Vorgehensweise war die Presetdatei des Synthezisers Absynth5.app "Rusty Percussion.nabs"
und die Presetdatei "candrum.nabs"

Schade :(
 

Anhänge

  • Bildschirmfoto 2014-09-11 um 15.43.59.png
    Bildschirmfoto 2014-09-11 um 15.43.59.png
    136,9 KB · Aufrufe: 53

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Hallo,

kann es sein, dass sich die Alias-Datei auf einem anderen Laufwerk als das Ziel befindet? Folgendes Skript sollte auch das berücksichtigen:

Code:
set subs to "'s/:Absynth [34]\\(:Instruments\\)\\{0,1\\}/:Absynth Legacy/g'" -- sed regex

set theAliases to (choose file with multiple selections allowed)
repeat with theFile in theAliases
   set orgPath to getOriginalItem(theFile) -- get original path 
   set newPath to alias (do shell script "echo " & quoted form of orgPath & " | sed " & subs) -- substitute path
   tell application "Finder"
       set theName to name of theFile
       set theFolder to container of theFile
       delete theFile -- delete old alias
       make alias at theFolder to newPath with properties {name:theName} -- create new alias
   end tell
end repeat

on getOriginalItem(theFile)
   set theExtension to name extension of (info for theFile)
   set AppleScript's text item delimiters to (":[^.]*." & theExtension & "|") as string
   set theDisks to (list disks) as string
   set AppleScript's text item delimiters to ""
   -- get original path from file
   set thePath to (do shell script "LC_CTYPE=C cat -v " & quoted form of POSIX path of theFile & "| grep -Eo '" & theDisks & ":[^.]*." & theExtension & "' | sed 's/\\^.//g'")
   return thePath
end getOriginalItem

Es muss allerdings die Festplatte verbunden sein, auf die die Alias-Datei ursprünglich verwies. Sollte das nicht möglich sein, muss ich das Skript nochmal anpassen.
 

mike bols

Cripps Pink
Registriert
08.03.06
Beiträge
150
hallo, ich habe hier (auch wegen kontakt) das gleiche problem.

allerdings bei mir noch vertrackter: die aliase befinden sich auf der systemplatte, die originale auf einer externen.

die pfade (in contro-i) sehen aber genau gleich aus.