Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Kopieren mit Aliasauflösung

Kopieren mit Aliasauflösung

chh19.02.2517:47
Ich habe mir ein Projektordner mit viele Unterlagen als Alias zusammengestellt, da ich die Dateien nicht doppelt haben möchte. Nun möchte ich ein zip daraus erstellen, bei dem die Originaldateine reingepackt werden. Da ich den Originalprojektordner nicht verändern will dachte ich mir, vielleicht gibt es die Möglichkeit eine Kopie davon herzustellen und der Kopiervorgang löst die Alias auf. Gibt es sowas oder hat jemand eine andere Idee?
+1

Kommentare

almdudi
almdudi19.02.2521:28
Wenn ich einen Ordner zum Zip komprimiere, bleibt der Ordner unverändert und das zip wird daneben erstellt.
-1
chh19.02.2521:32
Ja, und im Zip sind die Alias drin wie im Originalordner, aber die hätte ich gerne ersetzt durch die Originaldateien
+1
Mutabaruga19.02.2521:55
Wo liegen denn die Originale? Auch in einem einzigen Ordner? Warum zipst Du nicht den? Warum gibt es überhaupt Aliase? Versuche das gerade nachzuvollziehen
+1
M@rtin19.02.2522:06
Ich glaube, ich habe chh verstanden: er möchte den Projektorder, in dem sich u.a. auch Alias-Dateien befinden, archivieren, indem er diesen auf ein anderes Volume kopieren will, aber dabei jedes Alias durch die Originaldatei ersetzen will.

Wenn später mal diesen archivierten Ordner geöffnet wird, könnten die Alias-Dateien ins Leere führen, weil sich die Originale nicht mehr an der ursprüngliche Stelle befinden, daher soll der Archiv-Ordner nur noch Originale beinhalten.

Problem ist erkannt, aber ich habe keine Lösung.
0
chh19.02.2522:11
Die Originale liegen wild verstreut auf dem NAS. Ich muss in diesem Projekt viele Dokumente zusammentragen, die wollte ich nicht kopieren, dazu sind ja Alias geeignet. Das sind Bankauszüge, Lohnabrechnungen, Kaufbelege, medizinische Dokumente und sonstige Unterlagen. Der Auftraggeber braucht nun die Dokumente und ich möchte sie ihm als zip-Datei übergeben.
0
Mutabaruga19.02.2522:29
Ok, also die wichtigeren Dateien von einer noch größeren Menge von Dateien, die in mehreren Ordnern liegen. Und Deine Auswahl möchtest Du jetzt als wirkliche Dateien zippen.

Ich würde vermuten, dass man einen Kopiervorgang macht, und diesem müsste man sagen, dass er nicht die Aliase, sondern die aufgelösten Dateien dazu irgendwohin kopieren soll.

Hast Du mal mit gedrückter Alt-Taste versucht zu kopieren?
0
dirac19.02.2522:32
Funktioniert denn ein
tar -cLzf Archiv.tar.gz ORDNER

Das "L" sollte dafür sorgen dass Links aufgelöst werden...
+3
Nebula
Nebula19.02.2522:46
Ich meine, ChronoSync und Carbon Copy Cloner können das.
„»Wir werden alle sterben« – Albert Einstein“
0
xcomma19.02.2523:02
Mit Symlinks (müssen absoluten Pfad haben bei Erstellung) wie auch mit Hardlinks (wenn sich alles auf derselben Platte befindet) geht das.
zip auf Kommandozeile löst dann diese Links gegen die "Originaldateien" auf und in der erstellten bzw. später entpackten Zip Datei befinden sich dann die "richtigen" Dateien (und keine Links mehr).
zip -r target.zip sourcepfad
+3
sudoRinger
sudoRinger19.02.2523:56
Sind es tatsächlich Aliase oder Symlinks? Bei Symlinks ließe sich mit `cp -RL Quellpfad Zielpfad` alles an einen Ort kopieren.

Bei Aliasen wird es komplizierter, da diese eine macOS-Spezialität sind. Ich habe mal meinen Assistenten gefragt und das ergab ein Bash-Skript mit folgendem Ansatz.
Alias per file-Befehl identifizieren
Mit eingebundenem AppleScript den Originalpfad ermitteln
Originaldatei in ein temporäres Verzeichnis kopieren
0
Mutabaruga20.02.2504:49
Mit ALT-Taste im Finder habe ich mal probiert, gehts nicht.
Aber der Weg im Beitrag zuvor ist ja schon sehr einfach realisierbar

Im Finder gibt es mit gedrückter ALT- und Shift-Taste noch ein Exakt kopieren, was auch immer das genau macht.
Das Ergebnis sieht erstmal aus wie eine Kopie des Alias wie beim normalen Duplizieren.
0
Weia
Weia20.02.2506:55
Mutabaruga
Im Finder gibt es mit gedrückter ALT- und Shift-Taste noch ein Exakt kopieren, was auch immer das genau macht.
Exakt kopieren überträgt auch 1:1 die Zugriffsrechte, selbst wenn diese mit den für Dich verfügbaren Zugriffsrechten nicht übereinstimmen (gegebenenfalls musst Du dafür dann ein Admin-Passwort eingeben). Wenn Du also zum Beispiel eine Datei kopierst, die root gehört, dann wird auch die Kopie root gehören. Ohne Exakt kopieren würde die Kopie Dir gehören.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Marcel Bresink20.02.2509:25
Es gibt drei verschiedene Dinge, die der Finder als "Alias" darstellt:

- Aliasdateien aus dem klassischen Mac OS
- Symbolische Links
- macOS-Bookmark-Objekte

Alle Finder-Versionen der letzten Jahre legen macOS-Bookmarks an, wenn sie selbst ein Alias erstellen.
Anders als Symbolische Links werden macOS-Bookmarks nicht automatisch vom Betriebssystem aufgelöst. Jedes Programm, das einen Bookmark liest, muss ausdrücklich die Auflösung des Alias in Auftrag geben. Nur wenn ein grafisches Programm über einen "Öffnen"-Dialog einen Alias auswählt, dann ist es standardmäßig so, dass macOS von sich aus bereits die Originaldatei liefert und nicht den Alias.

Zur ursprünglichen Frage: Man könnte per AppleScript ein Programm schreiben, das die Dateien kopiert und wenn es sich um einen Bookmark handelt, diesen wenn möglich auflöst und durch die Originaldatei ersetzt.
+1
chh20.02.2510:22
Danke euch allen für das Mitdenken. Ich mache mich mal ans applescripten, denn die anderen Lösungen gehen leider nicht.
0
feel_x20.02.2510:41
chh
Danke euch allen für das Mitdenken. Ich mache mich mal ans applescripten, denn die anderen Lösungen gehen leider nicht.

Anderer Ansatz:
Gewünschte Original-Dateien per farbigem Tag markieren oder per Dateiinfo-Dialog mit einem eindeutigen „ungewöhnlichen“ Projektkürzel kennzeichnen (Projektxyzabc123), dann einen intelligenten Ordner anlegen, der nur Dateien mit diesem Kürzel/diesem Tag anzeigt.

Funktioniert aus meiner Sicht besser als mit Aliasen: Wird eine neue Datei mit diesem Tag/Kürzel gekennzeichnet, taucht sie automatisch im intelligenten Ordner auf.
+2
almdudi
almdudi20.02.2510:54
chh
Die Originale liegen wild verstreut auf dem NAS.
Sorry, ich habe den Post so verstanden, daß du dir einen Projektordner zusammengestellt hast und daraus dann Aliasse.
Wenn im Projektornder nur Aliasse liegen, dürfte der Weg über intelligente Suche der komfortabelste sein, unabhängig von Zusatzprogrammen.
Ein anderer Weg wäre vermutlich, statt Aliassen Hardlinks zu benutzen. Müsste man aber ausprobieren, ob dann genau der von dir gewünschte Ergebnis eintritt (ich denke, ja).
0
Nebula
Nebula20.02.2511:20
chh
Danke euch allen für das Mitdenken. Ich mache mich mal ans applescripten, denn die anderen Lösungen gehen leider nicht.
Also "zip -r" hat bei mir mit im Finder angelegten Aliasen funktioniert. Auch mit BetterZip klappt das.

ChronoSync hat die Option "Aliase auflösen", die alle Aliase auflöst, die außerhalb des zu sichernden Ordners zeigen. Aliase, die in Unterordner verweisen, bleiben erhalten. Durchaus sinnvoll. Sicherungen gehen auch in ein Disk Image.

Carbon Copy Cloner löst Aliase bei mir jedoch nicht auf und ich habe keine Option dazu gefunden.
„»Wir werden alle sterben« – Albert Einstein“
0
rmayergfx
rmayergfx20.02.2511:31
Schau dir mal die Lösung in diesem Thread an:
https://www.reddit.com/r/MacOS/comments/1d06yol/quickest_way_to_mass_turn_alias_files_back_to/

Alternativ würde ich mal auf ein DMS setzen, z.B. das kostenlose Paperless-ngx. Da vergibst du jeder Datei einen Tag und über Filter kannst du dir dann passend die Dateien zum jeweiligen Projekt anzeigen und speichern lassen.

Gerade wenn du ein NAS hast, das vllt. auch noch Docker kompatibel ist. Eine sehr hilfreiche Arbeitserleichterung. Gerade wenn man viele Dokumente hat und etwas spezielles suchen muß ist es viel schneller, zumal du ja auf dem NAS auch keine Spotlight Suche hast. Nettes Gimmick nebenbei, es gibt für iOS eine App mit der man wunderbar auf den Bestand zugreifen kann, up- und download, weiterleiten etc:
https://apps.apple.com/de/app/swift-paperless/id6448698521
„Der Computer soll die Arbeit des Menschen erleichtern, nicht umgekehrt !“
+1
UWS20.02.2511:42
Nebula
Ich meine, ChronoSync und Carbon Copy Cloner können das.
...also mit ChronoSync geht das tatsächlich einwandfrei.
„There is no cloud…it’s just someone else’s computer.“
+1
chh20.02.2514:21
Habe Codeschnippsel gefunden die genau die gewünschte Ersetzung machen. Aber dies in ein rekursives Ordnertraversieren einzubinden habe ich nicht geschafft. Wäre cool wenn mir jemand einen Tipp geben kann.
Ich stelle mir die Anwendung so vor: Script starten, Ordner auswählen und dann werden in diesem Ordner die Alias durch die Originaldateien ersetzt. In etwa so das Grundgerüst:

tell application "Finder"
    set source_folder to choose folder with prompt "Welchen Ordner behandeln?"
    my traverseFolder(source_folder)
end tell

on traverseFolder(mySource_folder)
    tell application "System Events"
        set alias_list to get the alias of every disk item of mySource_folder
    end tell
    
    repeat with aFile in alias_list -- loop through the selected files
            -- diesen Code habe ich aus https://www.macscripter.net/t/replacing-an-alias-with-the-original-item/55247
        if class of aFile is alias file then -- make sure we are working with an alias file
            set originalFile to original item of aFile -- the original file of the alias
            set containerFolder to container of aFile -- container folder of alias
            move aFile to trash -- delete the alias
            duplicate originalFile to containerFolder -- duplicate original to container folder
        end if
        
                -- rekursion
        if class of aFile is folder then
            my traverseFolder(aFile)
        end if
        
    end repeat
end traverseFolder
0
chh20.02.2514:37
Jupii, geht mit ChronoSync, perfekt mit 1xKauf und kein Abo. Besten Dank allen
+1
macerv
macerv20.02.2517:00
ChronoSync gehört zu den besten Tools, die ich seit Jahren benutze ...
0

Kommentieren

Sie müssen sich einloggen, um sich an einer Diskussion beteiligen zu können.