Link auf Pfad als eine Art "Variable" definieren

Hallo,
ihr kennt sicherlich das Problem: man hat eine Vielzahl an einzelnen Dateien auf dem Dateilaufwerk in einer Vielzahl an Ordnern und Unterordnern. Nun erstellt man an anderer Stelle (einem Dokument oder einem anderen IT-System) einen Link/Verweis auf ein Dokument oder Ordner im Dateisystem.
Problem ist dann, dann der Link „kaputt“ ist, sobald sich ein Ordnername oder der Dateiname ändert oder die Datei woanders hin geschoben wird. Gibt es da eine Lösung, so dass man die Haltbarkeit von Links erhöhen kann?

Danke
AXL

Ich werfe mal „relativer Pfad“ ins Rennen, da ohne Nennung des Systems keine andere Antwort allgemein möglich ist.

Hi,

danke für die Antwort. Meinst Du die Windows-Version?

Gruß
AXL

Relative Pfade nützen einem dann, wenn man zusammengehörige Strukturen komplett verschiebt/kopiert. D.h. wenn man unter C:\Benutzer\Wiz\Projekte\Projekt 1 einen Ordner für Bilder, einen für Textdokumente, … hat, und dann nicht immer C:\Benutzer\Wiz\Projekte\Projekt 1\Bilder\Bild1.jpg sondern nur …\Bilder\Bild 1.jpg referenziert, dann kann man problemlos den Ordner Projekt 1 auch nach D:\Projekte verschieben.

Das hilft aber leider nicht bei der Umbenennung von Datei- oder Ordnernamen, da die Datei- und Ordnernamen ja genau das sind, was hier für den Zugriff verwendet wird. D.h. wenn man so etwas realisieren will braucht es mindestens ein hiervon unabhängiges Kriterium welches auch unabhängig vom Dateinamenssystem so verwaltet wird, dass ein weiterer Prozess darüber wacht, dass immer die richtigen Dateien am richtigen Ort mit diesem Merkmal verknüpft sind. So etwas kann man mit Dokumentenmanagementsystemen machen, die entsprechende Dokumenten IDs verwalten und die Bezüge ausschließlich über diese IDs herstellen, die dann bei Bedarf erst dahingehend aufgelöst werden, dass das System dann bei sich selbst nachschaut, welche Datei an welchem Ort im Dateisystem jetzt tatsächlich zu verwenden ist, wenn die ID aufgerufen wird. Da reden wir aber nicht von Lösungen, die man einfach so mit Bordmitteln oder kleinen handlichen Tools mal eben so nebenbei auf seinem Desktop einsetzen könnte, sondern von recht umfangreichen und großen Geschichten, die eher für die Mehrbenutzerbetrieb sind, einen entsprechenden Server verwenden, über ein Weboberfläche bedient werden, … wie z.B. SharePoint.

Das macht man halt einfach nicht. Niemals. Und schon braucht mal keine Lösung für ein unlösbares Problem.

Die eigentliche Lösung ist: das Ding selbst einbinden statt nur eines Links darauf.

Du hast übrigens noch gar nicht bemerkt, was für eine Sicherheitslücke du mit

erzeugst. Wenn dir dort (oder wer auch immer dort Zugriff hat) irgendwer was böses will, baut er anstelle der Originaldatei einen Trojaner ein. Und beim nächsten Aufruf des Links…

Hi!

Das ist auch technisch nicht möglich.
Beim Verschieben oder Umbenennen einer Datei muss das Betriebssystem wissen, wo es überall Links gibt, die auf diese Datei verweisen, und die entsprechend abändern. Es gibt dafür schlichtweg keine Liste, in der einfach nachgeschaut werden kann, das heißt, jedes mal müsste das komplette Dateisystem nach Links auf diese Datei durchsucht werden.

Schlimmer noch: Wenn diese Datei auf einem Netzlaufwerk ist, dann müssen alle Rechner, die darauf zugreifen, darüber informiert werden, um dann ihrerseits ihre Platten nach Links zu dieser Datei zu durchsuchen. Und zwar auch dann, wenn der Mitarbeiter nach 3 Wochen Urlaub seinen PC wieder einschaltet.

Es gibt HardLinks, mit denen sowas möglich sind. Ein HardLink ist ein zweiter Eintrag im Dateiverzeichnis der Festplatte, der aber auf den gleichen Speicherbereich mit dem Dateiinhalt verweist. Wird der erste Eintrag umbenannt, juckt das den zweiten nicht. Allerdings funktioniert das nur innerhalb einer Festplatte. Und: Wenn man die Datei nicht umbenennt, sondern kopiert und dann löscht, funktioniert das auch nicht.
Allerdings sind Hardlinks für Windows ziemliches Voodoo, und können ernsthafte Probleme bereiten.