Link Shell Extension
Zuletzt erneuert 18 Dezember 2022, Version 3.9.3.5
Datenschutzerklärung Die Datenschutzerklärung ist hier zu finden.
Quick Start Download
Documentation
Oft gestellte Fragen (FAQ)
Blog
History
Donations

French

English

Einleitung Das NTFS Filesystem unterstützt Hardlinks. Hardlinks ermöglichen es eine Datei in verschiedenen Ordnern anzuzeigen, ohne die Datei zu verfielfältigen.  Diese können mit dem POSIX Befehl ln des Windows Resource Kits, dem fsutil Befehl von Windows oder mit diesem Tool ln.exe  erstellt werden. Daher können Hardlinks mit Standard Windows Befehlen nur in der Eingabeaufforderung erstellt werden, was aber sehr mühsam sein kann, besonders wenn Hardlinks zu mehreren Dateien nötig sind oder wenn man nur selten von Hardlinks gebrauch macht.

Die Unterstützung für Junctions und Symbolische Links unter Windows ist noch begrenzter als die für Hardlinks.
Neuerdings wurde Winfile.exe auf github von Microsoft veröffentlicht, und ich habe einige Zeit damit verbracht das Handling von Junctions und Symbolischen Links dort zu integrieren. Für einfaches und schnelles Erstellen von Hard/Symbolischen Links ist Winfile recht brauchbar.

Link Shell Extension (LSE) ermöglicht das Erstellen von Hardlinks, Junctions, Bereitstellungspunkten, und Symbolische Links, (hier zusammenfassend als Links bezeichnet), einen Prozess zum Klonen von Ordnern welcher Hardlinks oder Symbolische Links verwendet sowie einen Kopierprozess, welcher sich um Junctions, Symbolische Links und Hardlinks kümmert. Link ShellExtension, ist eine Shell-Erweiterung und wird über den Windows Explorer oder ähnliche Dateimanager aufgerufen.
Die Erweiterung erlaubt es dem Benutzer eine oder mehrere Dateien oder Ordner auszuwählen und dann mit der Maus die Erstellung der gewünschten Links - Hardlinks, Junctions oder Symbolische Links - abzuschließen oder im Falle von Ordnern Klone zu erstellen, die aus Hardlinks oder Symbolischen Links bestehen. LSE wird auf allen Windows-Versionen unterstützt, die NTFS Version, Windows7/8/10, unterstützen. Hardlinks, Junctions und Symbolische Links werden auf FAT-Dateisystemen NICHT unterstützt, ebenso wenig wie das Erstellen eines Klons und Smarte Kopie auf FAT-Dateisystemen.

In diesem Dokument werden die Begriffe action button und action (pop up) menu verwendet, um die rechte Maustaste und das Menü zu beschreiben, das erscheint wenn die rechte Maustaste gedrückt wird (oft auch als Context Menu bezeichnet). In Anbetracht dessen, dass Benutzer die Funktionen ihrer Maustasten ändern können, bezeichnet Microsoft diese als primäre und secondäre Maustasten. Wir bevorzugen es die Maustasten Selecttaste und Aktionstaste zu nennen, und Anstelle des Context Menus, des Shell Menus oder des Right Mouse menus wird der Begriff Action menu verwendet.

Installation Der angemeldete Benutzer muss Administratorrechte haben um die Software zu installieren.

Um LSE zu installieren muss man das Installationsprogramm (HardLinkShellExt_$(platform).exe) ausführen. Folgen Sie den Anweisungen des Programms, es sind keine manuellen Eingaben bei der Installation erforderlich. Es ist möglich den Ort zu ändern wohin LSE installiert wird. Die Standardeinstellung ist

C:\Program Files\LinkShellExtension

Smartscreen pop-up
Bei Windows 10 besteht die Möglichkeit, dass der Windows Defender eine Warnung ausgibt:

Der Computer wurde durch Windows geschützt
Von Windows SmartScreen wurd der Start einer unbekannten App verhindert. Die Ausführung dieser App stellt unter Umständen ein Risiko für den PC dar.

In diesem Fall wählen sie "Trotzdem Installieren" aus. LSE ist mit dem Standard Code Signing Certificate ausgezeichnet, jedoch nicht mit dem EV Code Signing certificate, welches Smartscreen verhindern würde.

Explorer Restart
Während der Installation muss Explorer.exe neugestartet werden, damit die Link Shell Extension aktiviert wird. Das bedeutet, dass alle ausstehenden Operationen im Explorer.exe unterbrochen werden. Sie können sich jedoch entscheiden, den Neustart von Explorer.exe zu verschieben. Ein Dialogfeld gibt Ihnen diese Möglichkeiten während der Installation.


Installation Arguments Eine interaktionslose Installation kann z.b. über eine .bat-Datei ausgeführt werden kann. Dazu können während der Installation Kommandozeilen Argumente übergeben werden.

Silent install
/S zeigt während der Installation keine Eingabeaufforderungen an. Wenn die Befehlszeilenoption /S verwendet wird, wird der Explorer.exe nach der Installation neu gestartet, um die Link Shell Extension sofort zu aktivieren.

Specify Language
/LANGUAGE übergibt die Sprache, mit der die LSE installiert wird. z.B.

HardLinkShellExt_$(platform).exe /S /Language=English Momentan sind Englisch, Chinesisch, Tschechisch, Französisch, Deutsch, Griechis, Italienisch, Japanisch, Koreanisch, Polisch, Portugisisch, Russisch, Slovakisch, Spanisch, Swedisch, Türkisch and Ukrainisch verfügbare Sprachen als Argument für /Language

Specify Directory
Wenn die unbeaufsichtigte Installation verwendet wird, kann ein Installationspfad mit /D spezifiziert werden z.B.

HardLinkShellExt_$(platform).exe /S /Language=English /D=C:\Program Files\LSE

Uninstall
LSE kann auch interaktionslos deinstalliert werden, indem man den Befehl

$LSEInstallDir/uninst-HardLinkShellExt_$(platform).exe /S

Wenn der /S schalter während der Deinstallation benutzt wird, startet sich Explorer.exe neu, um Link Shell Extension zu deaktivieren.

No Check for VcRedist
Bei manchen Windows10 Installationen ist es nicht nötig vcredist zu installieren, oder vcredist kann nicht installiert werden, ist jeodch schon auf dem System. Um dies zu umgehen, kann der /noredist BefehlszeilenSchalter per Kommandozeile übergeben werden. z.B.:

HardLinkShellExt_$(platform).exe /noredist

Chocolatey
Installation
Link ShellExtension kann auch via chocolatey installiert werden, indem man

choco install linkshellextension

in einer Eingabeaufforderung ausführt. Stellen sie sicher, dass chocolatey installiert ist. Der angemeldete Benutzer benötigt Administrator Rechte, um die Software via choco zu installieren.


Winget
Installation
LSE kann auch via winget und dem Komando

winget install HermannSchinagl.LinkShellExtension

von einem Command prompt installiert werden. Stellen sie dicher, dass winget installiert ist.




Link ShellExtension verwenden Link Quelle festsetzen bewirkt, dass die ausgewählten Dateien als 'Quelle' für die Hardlinks gespeichert werden.

Link Quelle festsetzen

Um einen Hardlink zu erstellen, muss ein Zielordner ausgewählt werden. Wenn Sie mit der Aktionstaste der Maus auf den Zielordner klicken, öffnet sich ein Menü, das den Eintrag HardLink erstellen

Hardlink erstellen

Hardlink erstellen erstellt einen Hardlink im gewünschten Ordner.

Überlagerungs Symbol für Hardlinks
Um Hardlinks von anderen Dateien unterscheiden zu können, wird ein Überlagerungs Symbol angezeigt.

Overlay Icon for Symbolische Links

Überlagerungs Symbole für Hardlinks können auch angepasst werden.

Link Erstellung abbrechen Wenn Sie mit dem Action Button in den Hintergrund des Zielordners klicken, gibt es zusätzlich zur Option 'Hardlink erstellen' die Möglichkeit, die Linkerstellung abzubrechen.

Link Erstellung abbrechen

Untermenue Da die LSE Junctions, Clones und Symbolische Links unterstützt, können diese bei der Auswahl eines oder mehrerer Ordner als Quelle verschiedene Operationen ausgeführt werden.

Um eine Überfüllung des Popup-Menüs zu vermeiden, wird ein Untermenü angeboten, das die verschiedenen Arten von Linkerstellungen enthält, die auf Ordner anwendbar sind.

Popup Submenu

Drag and Drop Unterstützung Das Erstellen von Hardlinks per Drag and Drop wird ebenfalls unterstützt. Nachdem Sie eine oder mehrere Dateien ausgewählt haben, können Sie diese mit dem Action Button in den Zielordner ziehen. Wenn der Action Button losgelassen wird, wählen Sie im Aktionsmenü den Eintrag Hardlink hier erstellen, um die Hardlinks der ausgewählten Dateien im Zielordner zu erstellen.

Drag Hardlinks


Auto Rename Dateien können im selben Ordner wie der Quellordner verknüpft sein. Da zwei Verzeichniseinträge nicht den gleichen Namen haben können, verwendet die LSE '$Dateiname - Hardlink.$ext' als den Namen des neuen Links.

Automatic rename

LSE verwendet das gleiche Verfahren wie Explorer, wenn es um mehrere '$filename - Hardlink' geht: Es verwendet Zahlen, um mehrere Hardlinks einer Datei im gleichen Verzeichnis aufzuzählen, z.B. $filename - Hardlink (2).$ext.

Der Mechanismus der automatischen Umbenennung wird auch verwendet, wenn Junctions, Hardlink- Klone, Symbolische Links, Symbolische Link-Klone, Bereitstellungspunkte oder Smarte Kopien im gleichen Verzeichnis erstellt werden.


autorenamemultpiple.png

Junction Unterstützung Junctions ermöglichen das Erstellen von Junctions zwischen Verzeichnissen.

Pick a directory as source for Junction

Junctions werden auf die gleiche Weise wie Hardlinks erstellt, wobei die Quelle ein Ordner und nicht eine Datei ist. Wählen Sie einen Ordner, klicken Sie auf die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü, navigieren Sie zum Zielordner, klicken Sie auf die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Junction:

Drop as Junction

Junctions sind mit einem kleinen Kettensymbol unterhalb des Ordnersymbols gekennzeichnet.

Drop as Junction

Junctions können auch per Drag and Drop erstellt werden, indem die ausgewählten Ordner mit gedrückter Actionstaste in einen Zielordner gezogen werden. Wenn die Actionstaste losgelassen wird, wählen Sie das Untermenü Hier einfügen als ... und dann Junction..

Create a junction by dragging

Overlay Icons für Junctions
Um die Unterscheidung von Junction von normalen Ordnern zu erleichtern, haben Junctions ein kleines dreigliedriges Kettensymbol unter dem Icon implementiert.

Overlay Icon for Junctions

Die überlagerten Symbole für Junctions können ebenfalls angepasst werden.

Junctions können sich über Netzlaufwerke erstrecken, solange das Ziel ein zugeordnetes Netzlaufwerk ist. Junctions, die einen UNC-Pfad als Ziel haben, können zwar mit LSE erstellt werden, aber selbst Windows7/8/10 scheint einen Fehler zu enthalten, der die Dereferenzierung eines UNC-Pfads in einer Junction verhindert, selbst wenn LSE die Reparse-Informationen für UNC-Knoten korrekt einrichtet. Wenn eine UNC-Junction im Explorer doppelt angeklickt wird, erscheint der Fehler ERROR_INVALID_REPARSE_DATA(4392), der Sie darauf hinweist, dass die Information im Reparse-Punkt illegal ist, auch wenn sie es nicht ist.

Erweiterte Nutzerrechte werden z.B. in c:\Programme für die Erstellung von Junctions benötigt. Aus diesem Grund muss der UAC Dialog geöffnet werden.
Nur die Erstellung von Verzeichnissen benötigt in solchen Situationen erweiterte Nutzerrechte, aber die Erstellung eines leeren Verzeichnisses ist ein wichtiger Teil der Erstellung einer Junction. Die Funktion DeviceIoControl(), das die eigentliche Arbeit bei der Erstellung von Junctions leistet, würde ohne Elevation funktionieren.

Replacement Junction
Symbolic Link
Bereitstellungspunkt
Die Link Shell Extension kann das Ziel einer existierenden Junction, eines Symbolische Links oder eines Bereitstellungspunkts per Drag and Drop oder Auswählen/Einfügen ändern.

Um diese Funktion zu nutzen, wählen Sie ein existierendes Verzeichnis als Link Quelle und ziehen Sie es über eine Junction/Symbolischer Link/Bereitstellungspunkt. Indem sie die 'Einfügen als ... Replacement Junction/Symbolic Link/Bereitstellungspunkt' Funktion auswählen, wird das Ziel einer existierenden Junction/Symbolischer Link/Bereitstellungspunkt durch das neu Ausgewählte ersetzt.

Drop a junction for replacement

Das selbe kann mit Hilfe von Drag and Drop für Symbolische Link Directories, Junctions und Bereitstellungspunkte gemacht werden, jedoch nicht für Symbolische Link Dateien. Symbolische Link Dateien müssen mithilfe der 'Link Quelle festsetzen', 'Einfügen als ... Replacement Symbolic Link' ersetzt werden.

Falls der Sicherungs Modus ausgewählt ist, werden die ACLs der Junctions/Symbolische Links/Bereitstellungspunkte erhalten.

Kopieren Junction
Symbolischer Link
Bereitstellungspunkt

Link Shell Extension kann existierende Junctions/Symbolische Links/Bereitstellungspunkte entweder mit Festsetzen/Einfügen oder mit Drag and Drop kopieren.

copy a reparse point

Um diese Funktion zu nutzen, wählen Sie einfach eine bestehende Junction, einen symbolischen Link oder Bereitstellungspunkt als Linkquelle aus und legen Sie diese über ein bereits bestehendes Verzeichnis. Durch Auswahl der Funktion 'Einfügen als ... Junction/Symbolischer Link/Bereitstellungspunkte Kopieren' aus dem Aktionsmenü wird die Junction/Symbolischer Link/Bereitstellungspunkt auf das Ziel kopiert und die Beziehung angepasst.

Drop a junction for replacement

Dasselbe kann durch Drag and Drop für Junctions, Bereitstellungspunkte und für Symbolische Links gemacht werden.

Wenn der Sicherungsmodus ausgewählt wird, bleiben die ACLs der Junction/Symbolischen Links/Bereitstellungspunkt erhalten.

Smarte Kopie Smarte Kopie erstellt eine Kopie der Verzeichnisstruktur der Quelle im Ziel, behält jedoch die innere Hardlink-Struktur und die inneren Junctions/Symbolische Link Beziehungen der Quelle bei und stellt diese innere Hardlink-Struktur und innere Junctions/Symbollink-Beziehung am Ziel wieder her:

Bei Hardlinks verhält das sich wie folgt:

Smarte Kopie How To

Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von Dateien erkennen:

Normale Dateien Die Datei B ist eine normale Datei. Sie wird wie von jedem anderen Tool kopiert.

Gesättigte Hardlinks Die Dateien E und F sind Hardlinks. In der LSE werden sie als gesättigte Hardlinks bezeichnet, weil die Referenzzahl, die hier 2 ist, mit der Anzahl der Vorkommnisse unter 'Folder 1', die hier 2 ist, übereinstimmt.

Allgemein: Ein Hardlink wird in Bezug auf einen Ordner F als gesättigt bezeichnet, wenn die Anzahl der Vorkommnisse unterhalb des Ordners F mit der Referenzzahl übereinstimmt.

Gesättigte Hardlinks können vollständig mit der Funktion Smarte Kopie kopiert werden.


Ungesättigte Hardlinks Die Dateien A, C, D sind Hardlinks. In der LSE werden sie als ungesättigte Hardlinks bezeichnet, weil die Referenzzahl, die hier 3 ist, nicht mit der Anzahl der Vorkommnisse unter 'Folder 1', die hier 2 ist, übereinstimmt. Nur C und D liegen unter Folder 1.

Allgemein: Ein Hardlink wird in Bezug auf einen Ordner F als ungesättigt bezeichnet, wenn die Anzahl der Vorkommnisse unterhalb des Ordners F kleiner als die Referenzzahl ist.

Ungesättigte Hardlinks können mit Smarte Kopie nur teilweise kopiert werden. Im obigen Beispiel sind C und D am Zielort Hardlinks, aber die Hardlink Verbindung zu A ist unterbrochen. Das bedeutet, dass die Referenzzahl von C und D am Zielort 2 beträgt.



Bei Junctions oder Symbolic Link Verzeichnisen ist das Standardverhalten bei Smarter Kopie wie folgt:

Behaviour for inner junctions

Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von Ordnern/Junctions finden:

Normale Ordner Der Ordner 'Folder 3' ist ein normaler Ordner. Er wird mit seinem Inhalt kopiert, wie es jedes andere Tool tun würde.


Inner Junctions
Symlinks
'Inner Junction/Symlink' hat als Ziel 'Inner Junction/Symlink Target'. Diese Art von Ordner wird als 'Innere Junction/Symbolischer Link' bezeichnet, weil sein Ziel auf einen Ordner zeigt, der unterhalb der gemeinsamen Wurzel Folder 1 liegt.

Innere Junctions/Symbolische Links werden über Smarte Kopie am Zielort ordnungsgemäß wiederhergestellt.


Äussere Junctions
Symbolische Links
Outer Junction/Symlink hat Outer Junction/Symlink Target als Ziel. Diese Art von Ordner wird Äussere Junction/Symbolischer Link' genannt, weil sein Ziel auf einen Ordner zeigt, der parallel und damit ausserhalb der gemeinsamen Wurzel Folder 1 liegt.

Äussere Junctions/Symbolische Links können auf drei verschiedene Arten gehandhabt werden. Bitte beachten Sie den Abschnitt über Äussere Junction/Symbolische Link Behandlung.



Windows7/8/10 unterstützt Symbolische Links, die sich bei Smarter Kopie wie folgt verhalten:

Behaviour for inner symbolic links

Wenn man sich das obige Bild genau ansieht, kann man drei verschiedene Arten von Dateien/Symbolischen Links finden:

Normale Dateien Die Datei A ist eine normale Datei. Sie wird wie von jedem anderen Tool kopiert.

Innere Symbolische
Links
Der symbolische Link 'Inner Symlink' hat 'Inner Symlink Target' als Ziel. Diese Art von symbolischem Link wird Innerer Symbolischer Link genannt, weil sein Ziel auf eine Datei zeigt, die sich unterhalb der gemeinsamen Wurzel 'Folder 1' befindet. Innere Symbolische Links werden mittels Smarte Kopie am Zielort korrekt wiederhergestellt.



Äussere Symbolische
Links
Der Symlink 'Outer Symlink' ist auf den Ordner 'Outer Symlink Target' gerichtet. Diese Art von symbolischem Link wird Äusserer Symbolischer Link genannt, weil sein Ziel auf eine Datei zeigt, die parallel und damit ausserhalb der gemeinsamen Wurzel 'Folder 1' liegt.

Äussere Symbolische Link werden von Smarte Kopie in Abhängigkeit von der Behandlung von Äusseren Junction/Symbolischen Links gehandhabt.

Smarte Kopien werden auf die gleiche Art wie Junctions erstellt. Wählen Sie einen Ordner, benutzen Sie die Aktionstaste und wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...

Pick Source for Smarte Kopie

... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Smarte Kopie:

Drop Smarte Kopie

Smarte Kopie ist ein Muss, wenn z.B. der gesamte Inhalt einer Festplatte, die viele Hardlinks/Junctions/Symbolische Links hat, auf eine andere Festplatte kopiert werden soll. Während des Smarte Kopie-Vorgangs werden auch leere Ordner kopiert und die Datums-/Zeitstempel der Ordner/Junctions/Symbolischen Links werden ebenfalls an den entsprechenden Zielorten wiederhergestellt.

Da Smarte Kopie innere Hardlinks/Junctions/Symbolische Links erstellt, ist diese Funktion nur auf NTFS-Laufwerken verfügbar.

Wenn eine Smarte Kopie länger als 250msec dauert, zeigt ein Fortschrittsbalken den Status des Smarte Kopie-Vorgangs an.

Smarte Kopie verarbeitet alle verfügbaren alternativen NTFS-Streams einer Datei.

Wenn am Zielort bereits Objekte vorhanden sind, kopiert Smarte Kopie nur dann, wenn die Dateien/Symbolischen Links/Bereitstellungspunkte neuer sind als die bereits vorhandenen Elemente.

Bei der Wiederherstellung Symbolischer Links verwendet die LSE das Tool LSEUacHelper.exe, um diese Operation auszuführen zu können. Die Erstellung Symbolischer Links benötigt eine Erweiterung der User Privilegien und somit wird der UAC-Dialog angezeigt.

Die LSE benutzt LSEUacHelper.exe nur dann, wenn sich ein Symbolischer Link in/unter den ausgewählten Ordnern befindet. Wenn keine Symbolische Linke in Ihrer Auswahl enthalten sind, entfällt die UAC-Eingabeaufforderung.

Smarte Kopie erstellt während der Operation standardmäßig relative Symbolische Links.

Eingabeaufforderung

Die Smarte Kopie-Funktion ist auch über die Befehlszeile von ln.exe über Kommandozeile Optionen verfügbar.



Crop/Unroll/Splice
Äussere Junctions/
Symbolische Links
Während Smarte Kopie, Smarte Spiegelkopie, Delorean Kopie und Clone müssen eventuell so genannte Äusseren Junctions/Symbolische Link Verzeichnisse bearbeitet werden. Es gibt 3 verschiedene Möglichkeiten mit diesen Äusseren Junctions/Symbolischen Link Verzeichnisse umzugehen:

Crop Crop bricht Links zu Äusseren Junctions/Symbolischen Link Verzeichnissen im Ziel.

Crop funktioniert auch für Äussere Symbolische Link Dateien.

Cropping outer Junctions

Im obigen Beispiel wird Folder1 nach Destination/Folder1 kopiert, aber Outer Junction/Symlink ist im Ziel nicht verfügbar, weil Folder1/Outer Junction/Symlink auf Ordner0/Outer Junction/Symlink Target zeigt, der aber nicht unterhalb von Folder1 liegt.

Das Ziel hinter dem Beschneiden von Outer Junctions/Symbolischen Link Verzeichnisse ist es, bei Smarte Kopie, Smarte Spiegelkopie, Delorean Kopie und Klon eine Kopie ohne Verbindungen zur Quelle zu erhalten.

Crop für äußere Verbindungen/Symbolische Links aktivieren
Crop kann über das KonfigurationsTool ausgewählt werden.

Unroll Unroll folgt Äusseren Junctions/Symlink Directories und baut den Inhalt von Äusseren Junctions/Symbolischen Link Verzeichnissen innerhalb der Hierarchie am Ziel neu auf.

Unroll gilt auch für Äussere Symbolische Link Dateien, d.h. Unroll bewirkt, dass das Ziel von äusseren Symbolische Link Dateien am Ziel angepasst wird.

Unroll Outer Junctions

Im obigen Beispiel wird Folder1 in den Destination/Folder1 kopiert, und Outer Junction/Symlink und alle Dateien/Verzeichnisse unter Outer Junction/Symlink Target werden in den Ordner Outer Junction/Symlink im Zielordner kopiert.

Die Idee hinter dem 'Ausrollen' von Outer Junctions/Symbolische Link Verzeichnissen ist es, alles zu erhalten mit dem die Quelle verbunden ist, und es als separate Kopie am Zielort wieder aufzubauen. Es ähnelt dem 'Haar des Elefanten' Muster: Ziehen Sie an einem Elefantenhaar, und Sie erhalten den ganzen Elefanten.

Unroll ist das Standardverhalten für Smarte Kopie, Smarte Spiegelkopie, Delorean Kopie und Klone

Weiterführende Gedanken zum "Ausrollen"

Das obige Bild war nur der einfachste Fall, denn Unroll kann viel mehr, wenn es auf komplexe Situationen trifft. Denken Sie an eine äußere Junction/Symbolischen Link, der selbst Junctions/Symbolische Links enthält, die in Bezug auf den ersten äußeren symbolischen Link der Junction innen liegen:

Unroll Inner Outer Junctions

Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert und wie erwartet ausgerollt, aber da Junction/Symlink eine innere Junction in Bezug auf das Ziel Outer Junction/Symlink Target ist, wird die Junction/Symbolische Link Beziehung im Ziel wiederhergestellt.

Diese Art der Verschachtelung kann sehr viel komplexer sein:

Unroll Inner Outer Junctions

Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert und wie erwartet ausgerollt, aber dann beginnt es faszinierend zu werden, denn wir haben zwei Ebenen von äußeren Junctions/Symbolischen Links, die alle entsprechende innere Junctions/Symbolische Links haben und die ordnungsgemäß wiederhergestellt werden sollen. Sobald Sie sich durch das obige Bild durchgegraben haben, haben Sie es geschafft. Es ist nicht einfach, ich weiß, aber es ist notwendig, richtig auszurollen.

Und die Komplexität nimmt zu, wenn sich symbolische Linkdateien innerhalb entrollter äußerer Junctions/Symbolischer Links befinden:

Unroll Inner Outer Junctions

Im obigen Beispiel wird Folder1 nach Destination/Folder1 und Outer Junction/Symlink kopiert und wie erwartet ausgerollt, aber er enthält einen Inner Outer Symlink, der auf das Inner Outer Symlink Target zeigt, und dies ist eine innere Junction/Symbolischer Link in Bezug auf den äußeren Outer Junction/Symlink Target

Erwähnenswert ist jedoch der Symbolische Link Outer Symlink, der ein äußerer symbolischer Link wäre, aber da sein Ziel, das übergeordnete Verzeichnis Outer Junction/Symlink Target, ausgerollt wird, wird der Outer Symlink zu einem inneren Symbolischen Link in Bezug auf Folder1.

File1 Symlink ist ebenfalls ein äußerer symbolischer Link, aber sein übergeordneter Zielfolder, Folder2 hat nicht das Glück, ausgerollt zu werden, so dass im Ziel File1 Symlink nicht mehr ein symbolischer Link ist, sondern eine Kopie des Ziels der symbolischen Links.



Verschachtelte Reparse Points sind ebenfalls ein interessanter Anwendungsfall, mit dem sich der Algorithmus auseinandersetzen muss:

Nested Reparse Points

Im obigen Beispiel wird Folder1 nach Destination und Junction/Symlink F0 kopiert und wie erwartet ausgerollt, aber er enthält innere verschachtelte Reparse-Punkte. Verschachtelt bedeutet, Reparse-Punkte, welche auf andere Reparse-Punkte zeigen.

Die Ausrollfunktion eröffnet auch die Möglichkeit zirkuläre Junction/Symbolische Link Beziehungen zwischen einer Menge kopierter Elemente zu erstellen:

Unroll Junctions Circularities

Im obigen Beispiel wird Folder1 über die Option --unroll nach Destination/Folder1 kopiert. Smarte Kopie/Smarte Spiegelkopie und Delorean Kopie-Operationen können mit den oben gezeigten Zirkularitäten umgehen und Zirkularitäten aufbrechen, indem sie der betroffenen Junction/Symbolischen Link nicht folgen.

Junctions/Symbolische Links können auch auf FAT-Laufwerke oder andere NTFS-Laufwerke verweisen, die als Voraussetzung eindeutige Disk-IDs auf allen Platten benötigen, die über Junctions/Symbolische Links miteinander verkettet sind:

Unroll Junctions Unique DiskID

Hardlink-Geschwister werden durch Abgleich der pro NTFS-Volume eindeutigen Datei-ID gefunden. Wenn jedoch mehrere Volumes miteinander verkettet sind, kann es vorkommen, dass die gleichen Datei-IDs auf zwei verschiedenen NTFS-Laufwerken gefunden werden werden. Um dies zu beheben, verwenden alle Operationen die Datenträger-ID und die Datei-ID, um Hardlink-Geschwister zu finden.

Außerdem ist es nicht erlaubt, die Platten-ID 0xffffff-ffffff zu verwenden, da die Algorithmen dies als internen Indikator eines FAT-Laufwerks verwenden.

Die Option Ausrollen ermöglicht es auch, mehrere Junctions auf die gleiche Zielposition zeigen zu lassen, was dazu führt, dass die Algorithmen die gleichen Elemente viele Male durchlaufen:

Unroll Junctions Unique DiskID

Auf den ersten Blick sieht die Mehrfachdurchquerung von Elementen einfach aus, aber für Dateien bedeutet dies, dass mehrere durchquerte Dateien am Zielort gleich sind und fest miteinander verknüpft sind. Seien Sie also nicht verwirrt, wenn Sie Hardlinks sehen, die es noch nie zuvor gegeben hat.

Auch das Kopieren von Junctions/Symbolische Links von zugeordneten Netzlaufwerken erfordert besondere Sorgfalt, da sich Junctions auf einem entfernten Rechner mit Pfadreferenzen, die nur auf dem entfernten Rechner gültig sind, aufeinander beziehen:

Mapped Network Drive Reparsepoint Resolution

Das Beispiel in der obigen Abbildung zeigt eine solche Situation
  • X:\Src\Foo\Junction/Symlink ist eine Junction auf einer entfernten Maschine, der auf X:\Src\Foo\Folder zeigt. Es ist eine gültige Junction.
  • X:\Src\Foo wird über \RemoteMachine\MyShare gesplittet, was immer noch kein Problem darstellt.
  • \\RemoteMachine\MyShare, das auf einer lokalen Maschine auf T:\ gemappt ist, ist in Ordnung, aber die Junction T:\Junction/Symlink wird, wenn sie nach ihrem Ziel gefragt wird, immer noch X:\Src\Foo\Folder angeben, sogar auf der lokalen Maschine. Man könnte erwarten, dass das Ziel T:\Folder ist, aber das gilt nicht für Junctions.
  • Wenn SmartCopy/Mirror/Delorean auf eine solche Situation stößt, übersetzt es die Junction korrekt, wenn sie auf das Laufwerk Y:\ des lokalen Rechners kopiert wird, so dass das endgültige Ziel der Junction korrekt auf Y:\Dest\Bar\Folder erstellt wird.

Splice Splice verbindet die Äusseren Junctions/Symlink-Verzeichnisse am Zielort wieder mit ihren ursprünglichen Zielen in der Quelle.

Splice outer Junctions

Im obigen Beispiel wird Folder1 in Destination/Folder1 kopiert, und die Outer Junction/Symlink ist am Ziel als Junction verfügbar, die auf den ursprünglichen Standort Outer Junction/Symlink Target zeigt.

Das Ziel des Splicings von Outer Junctions/Symlink Directories mit ihrem ursprünglichen Standort besteht darin, während des Smarten Kopie Vorgangs eine Kopie zu erhalten, aber die Quellorte der Äusseren Junctions/Symbolischen Link Verzeichnisse wiederzuverwenden.

Die splice Funktion ist nützlich, wenn Bereitstellungspunkte kopiert werden sollen. Bereitstellungspunkte sind den Junctions sehr ähnlich, zeigen aber auf einen Pfad, der immer mit \\\?\VolumeGuid{} beginnt.

Copy Bereitstellungspunkt with Splice

Splice für äußere Verbindungen/Symbolische Links aktivieren

Splice kann durch das Konfigurations Tool an und ausgeschaltet werden.



Multiple Source Für Smarte Kopie, Klone und Delorean Kopie können mehrere Quellen angegeben werden. Wenn es zwischen diesen Quellen Junctions/Symbolische Links gibt, werden diese wie innere Junctions/Symbolische Links behandelt, da alle Quellen wie eine gemeinsame Wurzel behandelt werden.

Multiple Sources

Im obigen Beispiel werden Location1 und Location2 nach Destination kopiert. Location2/Junction20 ist bezüglich Location1/Folder10 in der Quelle eine innere Junction. Das ist auch der Grund warum Destination/Junction20 im Ziel zu Destination/Folder10 zeigt.

Das Ziel dahinter ist alle Junctions/Symbolische Links als innere Junctions/Symbolische Links zu behandeln, solange sie sich in der Menge der Quellordner befinden.

Dies funktioniert wie folgt:

Multiple source are selected

Im obigen Beispiel werden alle Inhalte von Location 1 und Location 2 und pskill.exe ausgewählt. Mögliche Junctions/Symbolische Links in Location 1, die auf Location 2 oder umgekehrt zeigen, werden als innere Junctions/Symbolische Links behandelt, da alle Auswahlen als eine gemeinsame Wurzel behandelt werden.




Smart Move Mit Smart Move können Ordner umbenannt werden, unter denen sich Junctions und Symbolische Links befinden, und die Ziele der Junctions und Symbolischen Links werden unterhalb dieses Ordners aktualisiert. Ohne Smart Move würde das Umbenennen solcher Ordner zu toten Junctions und Symbolischen Links führen.

Mit Junctions oder Symbolischen Link Verzeichnissen verhält es sich wie folgt:

Smart Move behaviour for junctions and symbolic links

Bei genauer Betrachtung des obigen Bildes kann man drei verschiedene Arten von Ordnern/Verbindungen erkennen:

Normale Ordner

Der Ordner 'Folder 3' ist ein normaler Ordner. Er wird mit seinem Inhalt einfach verschoben.

Innere Junctions
Symbolische Links


Der Ordner 'Inner Junction/Symlink' zeigt auf 'Inner Junction/Symlink Target'. Diese Art von Ordner wird als Innere Junction/Symbolischer Link bezeichnet, weil sein Ziel auf einen Ordner zeigt, der sich unterhalb der gemeinsamen Wurzel 'Folder 1' befindet. Innere Junctions/Symbolische Links werden durch Smart Move am Zielort korrekt aktualisiert.



Äussere Junctions
Symbolische Links


'Outer Junction/Symlink' zeigt auf den Ordner 'Outer Junction/Symlink Target'. Diese Art von Ordner wird als Äussere Junction/Symbolischer Link bezeichnet, weil sein Ziel auf einen Ordner zeigt, der parallel und damit außerhalb der gemeinsamen Wurzel 'Folder 1' liegt.

Äußere Junctions/Symbolische Links werden von Smart Move nicht verändert und bleiben somit mit ihrem jeweiligen Ziel verbunden. Bitte beachten Sie, dass dies ein Unterschied zu Smarte Kopie ist, das drei verschiedene Möglichkeiten hat, um mit Äußeren Junctions/Symbolischen Links umzugehen.



Die Smart Move-Funktionalität ist in den Explorer integriert. Ziehen Sie einfach einen Ordner im Explorer an seinen Zielort, oder drücken Sie z. B. F2 im Explorer, um ein Verzeichnis umzubenennen, und LSE kümmert sich um Junctions oder symbolische Links und aktualisiert sie.

Überwachen von Verschiebe- und Umbenennungsvorgängen bedeutet, dass LSE vor dem Umbenennen/Verschieben den ausgewählten Ordner rekursiv nach Junctions oder Symbolischen Links durchsucht. Das Durchsuchen großer Mengen von Dateien und Ordnern benötigt jedoch Zeit, daher zeigt LSE einen Fortschrittsbalken an, wenn die Suche länger als 250msec dauert.

Progress bar during Smart Move

Wenn Symbolische Links aktualisiert werden müssen, ruft LSE seinen UAC-Helfer LSEUacHelper.exe auf.

Wenn der Backup-Modus aktiviert ist, wird der UAC-Helfer LSEUacHelper.exe immer aufgerufen, da LSE Dateien in Verzeichnissen auflistet, für die es möglicherweise keine Berechtigungen hat.

Smart Move erstellt relative Symbolische Links während des Smart Move-Vorgangs.

Wenn in desktop.ini ein LocalizedResourceName für den Folder gesetzt ist, und dieser Folder read-only ist, dann funktioniert SmartMove nicht. Das ist ein Fehler von Windows, denn ICopyHook::CopyCallback() wird nicht aufgerufen, und somit kann die ShellExtension auch nicht den Umbennenungsvorgang beinflussen.

Aktivieren/Deaktivieren von Smart Move
Smart Move kann über das KonfigurationsTool ein-/ausgeschaltet werden.

Eingabeaufforderung
Die Smart Move-Funktionalität ist auch über die Kommandozeile von ln.exe über den Befehlszeilenschalter --move verfügbar.



Clone Klone sind Kopien eines Ordnerbaums von einer Quelle, die am Zielort neu erstellt werden, wobei die Dateien innerhalb des neuen Ordnerbaums Hardlinks oder Symbolische Links zu den entsprechenden Dateien in der Quelle sind.

Hardlink Clones how to



Ein Ordnerbaum kann auch Junctions oder Symbolische Links enthalten. Der Klonprozess stellt Innere Junction/Symbolische Links am Zielort wieder her, ähnlich wie Smarte Kopie.

Hardlink Clones the smart way



Äußere Junctions/Symbolische Links werden unter Berücksichtigung der angegebenen Äusseren Junction/Symbolischer Link Behandlung neu erstellt.

Unter Windows7/8/10 ist dieser Klonvorgang auch mit Symbolischen Links anstelle von Hardlinks möglich.

Symbolic Link Clones the smart way



Klone werden auf die gleiche Weise wie z. B. Junctions erstellt. Wählen Sie einen Ordner aus, klicken Sie auf den Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...

Pick Source for Hardlink Clone

... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie HardLink Clone:

Drop a Hardlink Clone

... wählen Sie Symbolischer Link Klon, um Klone von bestehenden Baumstrukturen zu erstellen.

Drop a Symbolic Link Clone

HardLink und Symbolische Link-Klone können auch per Drag and Drop erstellt werden. Wählen Sie einen Ordner und ziehen Sie ihn mit gedrückter Aktionstaste in einen Zielordner. Wenn die Aktionstaste losgelassen wird, öffnen Sie das Untermenü 'Hier einfügen als ...' und wählen Sie HardLink-Klon oder bei Windows7/8/10 Symbolischer Link-Klon:

Drop Hardlink Clone.png



HardLink-oder Symbolische Link-Klone sind nützlich, wenn Sie einen Ordnerbaum an einen anderen Ort replizieren müssen. Der benötigte Festplattenspeicherplatz ist minimal, da die neue Struktur nur aus NTFS-Verzeichniseinträgen besteht und somit fast kein Speicherplatz benötigt wird.

Wenn sowohl Dateien als auch Ordner als Quell-Links ausgewählt sind und als HardLink-Klon abgelegt werden, dann werden die ausgewählten Dateien als Hardlinks zusammen mit den HardLink-Klonen abgelegt.

Da Klone Hardlinks oder Symbolische Links verwenden, sind sie nur innerhalb eines NTFS-Laufwerken verfügbar. Hardlink-Klonen kann nicht die Ordnerstruktur von einem Disk-Volume auf ein anderes Volume replizieren, da Hardlinks auf den Betrieb auf einem einzelnen Volume beschränkt sind. Symbolic Link Clones können verwendet werden, um Volume-übergreifende Klone zu erstellen.

Das Anlegen von Klonen wird von LSE durch LSEUacHelper.exe durchgeführt, wenn der Ordnerbaum Symbolische Links enthält, denn das Anlegen von symbolischen Links benötigt eine erweiterte Berechtigung und ruft damit den UAC-Dialog auf.
LSE benutzt LSEUacHelper.exe nur, wenn sich ein Symbolischer Link unter den ausgewählten Ordnern befindet, so dass Sie sich eine UAC-Eingabeaufforderung ersparen, wenn Sie keine Symbolischen Links in Ihrer Auswahl haben.


Einschränkungen
Die Hardlink-Erstellung benötigt Schreibzugriff auf die Quell-Hardlink-Geschwister. Das bedeutet, dass Hardlink Clone fehlschlägt und nur eine leere Verzeichnisstruktur erzeugt, wenn der Schreibzugriff für die Quelldateien nicht verfügbar ist. Der Grund ist wie Windows Hardlinks implementiert, da die Sicherheitsinformationen für eine Datei und damit für alle Hardlink-Geschwister gemeinsam genutzt werden.

Das Erstellen von Hardlink-Klonen kann in diesen Situationen trotzdem ermöglicht werden, indem Benutzern, die einen Hardlink-Klon erstellen wollen, Schreibrechte für die Quelldateien gewährt wird, oder eben dem User Jedermann Schreibrechte gegeben wird.

Kommando Zeile
Die Klon Funktionalität mit Hardlinks oder Symbolischen Links ist auch über die Kommandozeile von ln.exe über den Befehlszeilenschalter --recursive verfügbar.


Smarte Spiegelkopie Smarte Spiegelkopie ist der Funktion Smart Kopie sehr ähnlich und kopiert nicht nur, sondern synchronisiert den Ordner Quelle zum Ziel:
  • Smarte Spiegelkopie kopiert, wenn sich der Zeitstempel der Elemente im Ziel von dem der Quelle unterscheidet.
  • Löscht nicht mehr in Quelle vorhandene Dateien aus Ziel.
Smarte Spiegelkopie kümmert sich um Hardlink-Relationen, stellt Innere Junctions oder Innere Symbolische Links wieder her und beachtet Äußere Junctions oder Äußere Symbolische Links, wenn sie entrollt oder gespliced werden.

Die Smarte Spiegelkopie wird auf die gleiche Weise erstellt wie z. B. Junctions. Wählen Sie einen Ordner aus, klicken Sie auf die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...

Pick Source for Hardlink Clone

... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Smarte Spiegelkopie:

Drop a Smartmirror


Die Smarte Spiegelkopie unterscheidet sich ein wenig bezüglich Auto Rename, da sie einen bereits existierenden Ordner am Zielort erwartet, der den gleichen Namen wie der Quellordner hat, damit sie die Spiegelung durchführen kann.



DeLorean Kopie Delorean Kopie ist eine Möglichkeit inkrementelle Backups zu erstellen, indem eine Kombination aus Hardlink Klon und Smart Kopie verwendet wird.

Das folgende Bild gibt einen Überblick, worum es sich bei der Delorean Kopie handelt

DeLorean Kopie Verhalten

Im Allgemeinen hat eine Delorean Kopie 3 Hauptbestandteile: Source(t), InitialBackup und Backup(n).

Phase 1: Erstmalige Smarte Kopie

Der Ordner Source(t) wird zunächst nach InitialBackup kopiert. Dies wird durch den blauen Pfeil angezeigt.

Änderungen
geschehen


Während dieser Phase ändern sich die Dateien unter Source, und Source(t) wird zu Source(t+1).

Phase 2: Hardlink Klon


Der Ordner InitialBackup wird Hardlink geklont auf Backup1, wodurch InitialBackup und Backup1 verbunden werden. Dies ist durch den roten Pfeil dargestellt.

Phase 3: Spiegeln
Spiegelt den Ordner Quelle auf Backup1. Dies wird durch den grünen Pfeil angezeigt:
  • Behält unveränderte Dateien als Hardlinks zum InitialBackup bei.
  • Löscht Dateien, die nicht mehr in Quelle(t+1) sind, aus Backup1.
  • Kopiert verschiedene Dateien von Quelle(t+1) nach Backup1.

Nach Abschluss dieser ersten Runde enthält Backup1 die erste schlanke Kopie von Source, die entweder nur aus Hardlinks zu InitialBackup besteht, oder aus kopierten Dateien, falls diese von Source(t+1) kopiert werden mussten, weil sie unter Source(t+1) neuer waren.
Der Punkt ist, dass alle Dateien in Backup1 transparent zugänglich sind, aber wenig Speicherplatz verbraucht wird, weil sich nicht alle Dateien unter Source(t+1) geändert haben, so dass nur ein paar Dateien von Source(t+1) nach Backup1 umkopiert werden mussten.
Dies kann immer wieder wiederholt werden. Die zweite Runde wäre die Verwendung von Source, Backup1 und Backup2 für die Delorean Kopie:

Änderungen
geschehen


In dieser Phase ändern sich die Dateien unter source, und Source(t+1) wird zu Source(t+2).

Phase 2: Hardlink Klon

Der Ordner Backup2 ensteht durch Hardlink Klone von Backup1, was Backup1 und Backup2 verbindet. Dies ist durch den roten Pfeil dargestellt.

Phase 3: Spiegeln

Spiegelt den Ordner Source(t+2) auf Backup2. Dies wird durch den grünen Pfeil angezeigt:
  • Behält unveränderte Dateien als Hardlinks zu Backup1.
  • Löscht Dateien, die nicht mehr in Source(t+2) sind, aus Backup2.
  • Kopiert neuere Dateien von Source(t+2) nach Backup2.


Delorean-Kopien werden auf die gleiche Weise wie z. B. Junctions erstellt. Wählen Sie einen Ordner aus, klicken Sie auf die Aktionstaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü...

Pick a directory for DeLorean Copy

... navigieren Sie zum Zielordner, drücken Sie die Aktionstaste, öffnen Sie das Einfügen als ... Untermenü und wählen Sie DeLorean Kopie:

Pick a directory for DeLorean Copy

Wenn eine Delorean Kopie das erste Mal auf ein Verzeichnis abgelegt wurde, werden eine Smart Kopie durchgeführt, so wie sie unter Phase 1 in den oben beschrieben wird. Link Shell Extension hat automatisch den Ordnernamen für das Ziel durch Anhängen eines Zeitstempels generiert.

Jedes sukzessive Ablegen eines Verzeichnisses auf ein Zielverzeichnis löst Phase 2 und Phase 3 der obigen Beschreibung aus, d.h. es wird der Hardlink Clone vom früheren Backup auf das aktuelle Backup durchgeführt und außerdem wird die Quelle auf das aktuelle Backup gespiegelt.

Ein Verzeichnis mit vielen Kopien kann wie folgt aussehen:

Directory with many DeLorean Copies


Einschränkungen
NTFS hat ein Limit, maximal 1023 Hardlinks zu einer Datei zu erstellen. Für Delorean Kopie bedeutet dies, dass es eine Fehlermeldung angezeigt wird, wenn dieses Limit überschritten wird. Das Überschreiten dieses Limits bedeutet Datenverlust unter den letzten Backup-Sets:

Delorean Exceed 1023 Hardlink Limit


Der Grund für die Überschreitung dieser Grenze könnte entweder sein, dass es mehr als 1023 Backup-Sets gab aber keine Hardlinks innerhalb der Source, oder es gibt Hardlinks innerhalb der Source und weniger als 1023 Delorean Kopien.


Das Untermenü Delorean Kopie wird nicht angezeigt, wenn mehr als ein Ordner als Quelle ausgewählt ist.


Delorean Kopie kann mit überlangen Pfaden umgehen, d.h. es kann mehr als 256 Zeichen in Pfaden verarbeiten. Dies ist wichtig, da das Ablegen einer Kopie mit einem recht langen Pfad, aber immer noch unter 256 Zeichen Pfadlänge, an den Zielorten zu einer kombinierten Pfadlänge von mehr als 256 Zeichen führen kann. In einer solchen Situation darf kein Datenverlust auftreten, was Delorean Kopie mit 'long path safe' garantiert. Bitte beachten Sie, dass der Explorer das Ergebnis einer solchen Kopie nicht anzeigen kann, die Dateien aber vorhanden sind. Alternative Explorer wie der SpeedCommander können dies übernehmen.


Kommandozeile
Die Delorean Kopie Funktionalität ist auch über ln.exe verfügbar.



Sicherungsmodus

Im Backup-Modus kopiert die LSE auch ACLs und verschlüsselte Dateien aus allen Verzeichnissen, auch aus denen ohne Zugriff für den aktuellen Benutzer.

  • LSE startet immer seinen Hilfsprozess LSEUacHelper.exe und löst damit die UAC für die Eingabeaufforderung und die Passwortverifizierung aus.
Das gilt für Smarte Kopie, Smarte Spiegelkopie, SmartClone, Delorean Kopie, Smartes Verschieben und und Replacement Junction/Symbolischer Link/Bereitstellungspunkt.

LSE.exe thus copies
  • Alternative Streams von Dateien und Ordnern
  • EA Records von Dateien und Ordnern (selten verwendet)
  • Reparse-Infos
  • Dateiattribute
  • Zeitstempel: Erstellungszeitpunkt, letzter Zugriffszeitpunkt, letzter Schreibzeitpunkt
  • Sparse Dateien und alternative Sparse Streams
  • Verschlüsselte Dateien
  • ACLs

Der Backup-Modus ist standardmäßig deaktiviert und kann über das Tool LSE-Konfiguration aktiviert werden.

Um Sicherungsvorgänge durchzuführen, muss ein Benutzer die Berechtigungen SE_BACKUP_NAME und SE_RESTORE_NAME besitzen. Die Standardkonfiguration von Windows weist der Gruppe 'Backup-Operator' und 'Administrator' diese Berechtigungen zu, aber zusätzlich können die oben genannten Berechtigungen bestimmten Benutzern oder Gruppen individuell zugewiesen werden.

Die Zuweisung von Privilegien kann wie folgt erfolgen
By gpedit.msc

Changing Privileges for Backup operations


and navigating to
"Computer Configuration" ->"Windows settings" -> "Security Settings" -> "Local Policies" -> "User Rights Assignments" -> "Backup files and directories"
"Computer Configuration" ->"Windows settings" -> "Security Settings" -> "Local Policies" -> "User Rights Assignments" -> "Restore files and directories"

Ohne gpedit.msc
Laden Sie PolsEdit herunter und fügen Sie Benutzern oder Gruppen, die in der Lage sein sollen, Sicherungen durchzuführen, die Berechtigungen SE_BACKUP_NAME und SE_RESTORE_NAME hinzu.



Bereitstellungspunkt
Unterstützung

Mit der Funktion Bereitstellungspunkt können ganze Festplatten an beliebige Stellen im Filesystem gemountet werden.

Pick volume as source for a Volume Bereitstellungspunkt


Bereitstellungspunkte werden auf die gleiche Weise wie Hardlinks erstellt, bloß ist der Quell-Link ein Volume und nicht eine Datei. Wählen Sie ein lokales Volume, klicken Sie die rechte Maustaste, wählen Sie Link Quelle festsetzen aus dem Aktionsmenü, navigieren Sie zum Zielordner, klicken Sie auf die Aktionstaste, öffnen Sie das Untermenü Einfügen als ... und wählen Sie Bereitstellungspunkt:

Drop as Mount Point


Volume-Bereitstellungspunkte können auch per Drag and Drop erstellt werden, wenn das ausgewählte lokale Volume mit gedrückter Aktionstaste in einen Zielordner gezogen wird. Bei losgelassener Aktionstaste wählen Sie das Untermenü Hier einfügen als ... und dann Bereitstellungspunkt.

Drag a Volume onto a Mount Point


Bereitstellungspunkte können via Explorer mit 'Bereitstellungspunkte löschen' gelöscht werden.

Delete a Volume Bereitstellungspunkt


Um den Ursprung eines Bereitstellungspunkte anzuzeigen, zeigt die Referenzspalte eines Bereitstellungspunkte das Volume an, das auf den ausgewählten Pfad gemountet ist.

Stellen Sie sicher, dass nur lokale Laufwerke gemountet werden können, nicht aber gemappte Netzlaufwerke.

Das Anlegen und Löschen von Bereitstellungspunkte ist an die erfolgreiche Rechteerhöhung gebunden, was bedeutet, dass der UAC-Dialog bestätigt werden muss.



Reference Count Wie im Abschnitt backgrounders beschrieben verwaltet NTFS für jedes Datenobjekt einen Referenzzähler, wie viele NTFS-Verzeichniseinträge auf dieses Objekt verweisen.

Um die Anzahl der Verweise anzuzeigen, kann im rechten Bereich des Explorers eine Spalte aktiviert werden, indem Sie auf die Zeile "Titel" in der Detailansicht klicken.

Select Columns

Nach dem Aktivieren der Referenzspalte wird die Referenzanzahl für jede Datei angezeigt.

Reference Count for Hardlinks


Windows7/8/10: Die Spalte, die die Referenz Anzahl und den Ursprung der Junction anzeigt, ist nicht verfügbar, da die Art und Weise, wie Windows7/8/10 mit benutzerdefinierte Spalten umgeht von Microsoft komplett überarbeitet wurde und alle Anwendungen, die mit so genannten ColumnHandlern arbeiten, nicht funktionieren.


Link-Eigenschaften

Link Shell Extension unterstützt auch so genannte Explorer-Eigenschaftsblätter, d. h., wenn eine Datei- oder Verzeichniseigenschaft im Explorer geöffnet wird, fügt Link Shell Extension eine eigene Registerkarte hinzufügt, um die Eigenschaften eines Hardlinks, einer Junction, eines Bereitstellungspunkte oder eines Symbolischen Links anzuzeigen.

Diese zusätzliche Registerkarte wird in den Datei- oder Verzeichniseigenschaften nur angezeigt, wenn die Datei oder das Verzeichnis ein Hardlink, Junction, Bereitstellungspunkt oder Symbolischer Link ist, ansonsten ist diese Registerkarte nicht verfügbar.

Property Sheet for Links

Explore
Für Junctions, Bereitstellungspunkte oder Symbolische Links zeigt dieser Dialog auch eine Schaltfläche 'Zielordner öffnen', die einen Explorer im angegebenen Verzeichnis öffnet.

Edit
Bei Junctions, Symbolischen Links oder Bereitstellungspunkte kann das Zielfeld bearbeitet werden, und nachdem Sie entweder auf die Schaltfläche Apply (Übernehmen) gedrückt oder den Link Property Dialog mit ok verlassen haben, werden die Änderungen auf die Junction, den Symbolischen Link oder den Bereitstellungspunkt angewendet.

Wenn der Sicherungs Modus aktiviert ist, bleibt der ACL der bearbeiteten Junction, des Symbolischen Links oder des Bereitstellungspunkte erhalten.


SymbolicLinks LSE unterstützt die Erstellung von symbolischen Links.

Das Erstellen eines Symbolischen Links entspricht im Wesentlichen den anderen Prozessen zum Erstellen von Links. Klicken Sie mit der Aktionstaste auf die ausgewählte(n) Datei(en) und wählen Sie im Aktionsmenü Link Quelle(n) setzen aus.

Link Quelle festsetzen


Wenn der Zielordner angeklickt wird, enthält das Menü ein Einfügen als ... Untermenü, um einen Symbolischen Link zu erstellen wählen Sie 'Symbolischer Link' aus dem Untermenü. Im Gegensatz zu Hardlinks können sich Symbolische Links über Speichervolumes erstrecken.

Drop a Symbolic Link Folder


Wenn sowohl Dateien als auch Ordner als Quell-Links ausgewählt sind und als Symbolischer Link-Klon abgelegt werden, werden die ausgewählten Dateien als Symbolische Links neben den neu erstellten Symbolischer Link-Klon-Ordnern abgelegt.

Symbolische Links können auch zwischen Verzeichnissen erstellt werden.


Relative und Zielpfadnamen für Symbolische Links
Das Ziel eines symbolischen Links kann entweder sein

  • ein voll qualifizierter Pfad, der im Stammverzeichnis eines Laufwerks beginnt, z.B. e:\data\cpp\myfile.txt
  • oder kann relativ angegeben werden, z.B. ..\..\data\cpp\myfile.txt
LSE versucht standardmäßig relative Zielpfadnamen für Symbolische Links zu erzeugen, solange dies möglich ist, z. B. die Datei und ihr Ziel auf demselben logischen Laufwerk liegen. Relative symbolische Link-Ziele zu haben ist effizienter, wenn das Ziel von Links im gleichen Laufwerk liegt. Wenn ein symbolischer Link und sein Ziel auf verschiedenen Laufwerken liegen, verwendet LSE absolute Pfadnamen.


Das Werkzeug Konfiguration kann die Erstellung vonn Symbolischen Links entweder im relativen oder absoluten Modus einstellen.



Überlagerte Symbole für Symbolische Links
Um Symbolische Links von normalen Dateien/Verzeichnissen zu unterscheiden, wurde ein Überlagertes Symbol für Symbolische Links implementiert, das ein hellgrünes Pfeilsymbol unter dem Ordner anzeigt.

Overlay Icon for Hardlinks

Überlagerungs Symbole für Symbolische Links können auch angepasst werden.


Aufzählung der Hardlinks

Markieren Sie einfach eine fest verlinkte Datei und wählen Sie Properties aus dem Aktionsmenü:

Enumerate Hardlinks


Die Hardlink-Aufzählung ist auch über die Kommandozeile von ln.exe über den --enum oder den --list Befehlszeilenschalter verfügbar.



UAC

Aufgrund der UAC müssen einige API-Aufrufe auf die administrative Ebene angehoben werden. Diese Anhebung muss über den unten gezeigten Dialog bestätigt werden. Wenn Sie also den unten gezeigten Dialog sehen und das Programm, das nach einer Erhöhung fragt, ist LSEUacHelper.exe, dann handelt es sich um Link Shell Extension. Sie müssen den Dialog bestätigen um Symbolische Links zu erstellen.

vistauac



Privileg für Erstellung Symbolischer Links ändern

Eine Möglichkeit die UAC-Abfrage zum Erstellen von Symbolischen Links zu umgehen, besteht darin Benutzern das Erstellen von Symbolischen Links zu erlauben, indem man die Richtlinie ändert.

Mit gpedit.msc
Starten Sie gpedit.msc von der Kommandozeile und erteilen/entziehen Sie bestimmten Benutzern die Berechtigungen: Unter "Computerkonfiguration" ->"Windows-Einstellungen" -> "Sicherheitseinstellungen" -> "Lokale Richtlinien" -> "Zuweisung von Benutzerrechten" -> "Symbolische Links erstellen".

Changing Privileges for Symblic Link Creation

Ohne gpedit.msc
Laden Sie PolsEdit herunter und fügen Sie Benutzer zur Nutzung des Privilegs SE_CREATE_SYMBOLIC_LINK_NAME hinzu.
Nach einer Veränderung der Privilegien müssen sie sich ausloggen und wieder einloggen, damit die Änderungen aktiv werden.

Die Linkshell-Erweiterung kann mit der oben genannten Vergabe von Berechtigungen umgehen, und wenn das Symbol Link-Privileg verfügbar ist, wird die UAC-Eingabeaufforderung vermieden.


Entwicklermodus in Windows10
Eine weitere Möglichkeit die UAC-Eingabeaufforderung zu umgehen, wäre den Entwicklermodus zu aktivieren, der seit Windows10/14972 verfügbar ist.


Remote-Fähigkeiten Das SMB-Netzwerkprotokoll unterstützt Operationen zum Erstellen von Remote-Hardlinks, Junctions und Symbolische Links innerhalb von SMB-gemappten Netzwerk-NTFS-Laufwerken.

Diese Funktion wird von der Link Shell Extension verwendet, um die Erstellung von so genannten Remote Hardlinks, Remote Junctions oder Remote Symbolische Links zu ermöglichen. z. B.

  • Eine Netzwerkfreigabe zuordnen
  • Wählen Sie eine Datei aus dieser Freigabe
  • Die Datei als Hardlink in derselben Freigabe ablegen

Es wurde ein Hardlink erstellt

remotecapabilities


Außerdem meldet SMB1.0 auch den Referenzzähler für Hardlinks und den Junction-Ursprung für Junctions, wodurch die Link Shell Extension den Eigenschaftsdialog für diese Dateien anzeigen kann. Derzeit wird der Referenzzähler eines Hardlinks über SMB1.0 nur zu 90% korrekt gemeldet, daher sollten Sie seien Sie sich dieser Einschränkung bewusst.

LSE unterstützt sowohl gemappte Netzlaufwerke als auch UNC-Pfade.

Zugeordnete, aber nicht verfügbare Netzlaufwerke können in der Regel der Grund für eine langsames Satrten des Explorers sein. Verzögerungen von einigen Sekunden können können auftreten, wenn der Explorer alle Laufwerkszuordnungen prüfen muss, insbesondere die, die nicht verfügbar sind. Dies wird noch schlimmer, wenn die LSE auch den Status aller Laufwerke prüft.

Um diese Einschränkung zu umgehen, können die Remote-Fähigkeiten der Link Shell Extension über das KonfigurationsTool ein-/ausgeschaltet werden.

Remote-Hardlinks und die SMB-Version
In verschiedenen Windows-Versionen sind unterschiedliche SMB-Versionen implementiert, was ein unterschiedliches Verhalten für Hardlinks bedeutet:

SMB1.0: Windows XP, Windows2000 ...
SMB2.0: Windows Vista ...
SMB2.1: Windows7/8, Windows Server 2008 R2 ...

SMB3.0: Windows10, Windows Server 2012 R2 ...

Alle diese Versionen unterstützen die Erstellung von Hardlinks auf Netzwerklaufwerken, aber seit SMB2.0 kann man kann man nicht herausfinden, ob eine Datei auf einem Netzwerklaufwerk ein Hardlink ist oder nicht.

Das heißt, wenn Sie sich z.B. mit Ihrem Windows XP Rechner mit einem SMB2.1 Laufwerk verbinden, das von einem Windows7/8/10-Rechner bereitgestellt wird, sehen Sie keine Überlagerungs Symbole für fest verknüpfte Dateien.



Wechselmedien LSE unterstützt Wechselmedien, die mit NTFS formatiert wurden, um alle Funktionen zu nutzen, die es auch für nicht Wechsel-Laufwerke bietet. Die einzige Einschränkung ist, dass es nicht auf Wechseldatenträgern funktioniert, wenn diese auf Laufwerk A: oder B: gemountet sind. Der Grund dafür ist, dass A: oder B: üblicherweise für Diskettenlaufwerke verwendet werden.

Bei Wechseldatenträgern, die auf NTFS formatiert sind, besteht die seltene Möglichkeit, dass LSE beim Erstellen von Hardlinks oder Junctions Probleme mit 'Zugriff verweigert' meldet. Dies liegt an den Datei-Objektberechtigungen auf dem NTFS-Wechsellaufwerk, die mit einem anderen Computer auf diesem Wechseldatenträger erstellt wurden, wodurch diese 'Zugriff verweigert' Meldungen verursacht werden. Die Lösung besteht darin, die Berechtigung auf diesem Wechseldatenträger als Administrator zu ändern.

Überlange Pfade Explorer unterstützt Pfadnamen mit bis zu 256 Zeichen, wodurch alle Anwendungen auf diese Länge für Pfadnamen beschränkt sind.

NTFS unterstützt aber Pfadnamen mit bis zu 32767 Zeichen. LSE kann überlange Pfade bis zu 32767 Zeichen mit allen Operationen bearbeiten.


Subst Handling

Mit dem Befehl subst.exe kann man Laufwerksbuchstaben erzeugen, die auf einen bestimmten Pfad eines NTFS-Volume zeigen. Dies bedeutet, dass zwei unterschiedliche Laufwerksbuchstaben am Ende auf Orte auf demselben NTFS-Volume verweisen können.
Link Shell Extension prüft diese Situationen, wenn es darum geht, die Erstellung von Hardlinks zuzulassen, und erlaubt infolgedessen die Erstellung von Hardlinks zwischen verschiedenen logischen Laufwerken, wenn sie auf das gleiche NTFS-Volume auflösen.


ReFs Unterstützung

Mit Windows Server 2012 führte Microsoft das ReFS Dateisystem ein, das der designierte Nachfolger von NTFS ist. Doch die erste Implementierung von ReFS kann zwar nette Dinge, lässt aber ein paar wichtige Funktionen von NTFS vermissen, wie etwa die Hardlink-Unterstützung. Dieses Manko wird in ReFs3.5 behoben.
Link Shell Extension unterstützt ReFS, so dass man Symbolische Links, Bereitstellungspunkte, Junctions auf ReFS-Volumes erstellen kann. Unter ReFs < 3.5 wird eine Fehlermeldung ausgegeben, wenn ein Hardlink auf einem ReFS-Volume erstellt werden soll. Die Auswirkungen auf Link Shell Extension sind im Detail:

  • ReFS-Laufwerke als Ziel von Delorean Kopien werden fehlschlagen, zumindest beim Erstellen des zweiten Backups in einem Delorean Set.
  • SmartCopy/SmartMirror wird als Ziel für Hardlinks innerhalb der Quelle fehlschlagen.
  • SmartMove wird funktionieren.
Da von ReFS erwartet wird, dass es in einer späteren Version den vollen NTFS-Funktionsumfang unterstützt, hat Link Shell Extension keine Prüfungen implementiert, um mit den oben genannten Einschränkungen umzugehen.


Drittanbieter
FileSysteme

Heutzutage gibt es viele Dateisysteme von Drittanbietern, die Hardlinks, Symbolische Links... unterstützen. Um die LSE-Funktionalität auf diesen Laufwerken zur Verfügung zu stellen, können die unterstützten Dateisysteme konfiguriert werden:
Fügen Sie den Namen Ihres bevorzugten Dateisystems in einer kommagetrennten Liste zu

HKEY_LOCAL_MACHINE\SOFTWARE\LinkShellExtension\ThirdPartyFileSystems

Änderungen an den bekannten Dateisystemen aus dem obigen Registrierungsschlüssel werden nach einem Neustart von Explorer.exe wirksam.

Wenn Sie den Namen des Dateisystems nicht kennen, können Sie diesen ermitteln, indem Sie ln.exe von einem Eingabeaufforderung aus ausführen.

ln --probefs x:

Standardmäßig ist Btrfs als bekanntes Drittanbieter-Dateisystem konfiguriert.

Das Konfigurieren Ihres bevorzugten Dateisystems, damit es von LSE erkannt wird, geschieht auf eigene Gefahr. Grundsätzlich würde LSE alle Operationen auf die konfigurierten Dateisysteme ausführen, die es auch auf NTFS ausführt. Stellen Sie also sicher, dass Ihr Dateisystem den gleichen Funktionsumfang unterstützt wie NTFS, sonst werden bestimmte Operationen fehlschlagen.


Configuration Link Shell Extension kann in einigen Aspekten an den persönlichen Geschmack angepasst/konfiguriert werden. Um dies zu erleichtern, gibt es das Tool LSEConfig, das das Verhalten der Link Shell Extension über eine Benutzeroberfläche ändert. Sobald LSEConfig gestartet wird, erscheint der UAC-Dialog, da die Einstellungen der Link Shell Extension in der Windows-Registrierung geändert werden.

lseconfiggeneral


Localisierung
Die Benutzeroberfläche und die Befehle der Link Shell Extension sind in mehreren Sprachen verfügbar. Sie können wählen zwischen
  • Englisch (Standard)
  • Chinesisch
  • Tschechisch
  • Französisch
  • Deutsch
  • Griechisch
  • Italienisch
  • Japanisch
  • Koreanisch
  • Polnisch
  • Portugiesisch-Brasilianisch
  • Russisch
  • Slowakisch
  • Spanisch
  • Schwedisch
  • Türkisch
  • Ukrainisch
Das Ändern der UI-Sprache der Link Shell Extension erfordert einen Neustart des Explorers, sobald Anwenden oder Ok gedrückt wird.

Smart Move
Es kann sinnvoll sein, Smart Move ganz auszuschalten, wenn es Ordner mit sehr vielen Unter-Verzeichnissen gibt. Dies kann durch Setzen des Häkchens in der Smart Move Checkbox erreicht werden.

Logging
Alle Ausgaben einer LSE-Operation wie Smarte Kopie, Smarte Spiegelkopie oder Delorean Kopie werden in der Datei %TEMP%\LinkShellExtension.log protokolliert

Remote-Fähigkeiten
Es kann sinnvoll sein Remote Capabilities komplett abzuschalten, wenn es zu viele "tote Netzlaufwerke" gibt. Dies kann durch Setzen des Hakens in der Checkbox Remote Capabilities erreicht werden.

Outer Junction/Symbolischer Link Handhabung
Entscheiden Sie, ob die Äussere Junctions Behandlung Crop Unroll oder Splice sein soll. Unroll ist die Standardeinstellung

Symbolischen Link erstellen
Durch die Auswahl eines relativen oder absoluten Links, wird die Shell Extension das Ziel von Symbolischen Links entsprechend erstellen.

Kopiermodus
Wenn Sie die Backup Selektion aktivieren, läuft LSE im Backup-Modus.



Benutzerdefinierte Überlagerungs Symbole Link Shell Extension hat vordefinierte Überlagerungs Symbole für Junctions, Hardlinks und Symbolische Links. Da Icons dem individuellen Geschmack unterliegen, kann das von Link Shell Extension verwendete Icon festgelegt werden.

Das Ändern von Einstellungen, die sich auf Überlagerungs Symbole beziehen, erfordert einen Neustart des Explorers wenn Übernehmen oder Ok gedrückt wird.

lseconfiggeneral


Overlay Icon
Manchmal kann es sinnvoll sein, bestimmte Überlagerungs Symbole von Link Shell Extension komplett zu deaktivieren, Dies kann durch Aktivieren des Kontrollkästchens für Überlagerungs Symbole erreicht werden.


Priorität
Es kann nur ein Overlay-Symbol mit einem Symbol angezeigt werden, aber viele Overlay-Handler können sich registrieren um das Overlay-Symbol bereitzustellen. Um dies festzulegen, kann jeder Overlay-Handler eine Priorität angeben an den Explorer übergeben und der Explorer zeigt das Overlay-Symbol mit der höchsten Priorität an.
Hohe Priorität bedeutet niedrigere Zahl, wobei 0 die höchste Priorität darstellt


Benutzerdefiniertes Icon
Durch Aktivieren des Kontrollkästchens für Benutzerdefiniertes Symbol wird die Schaltfläche Browse... aktiviert, und ein Symbol kann ausgewählt werden. Beachten Sie, dass benutzerdefinierte Icons für jeden Benutzer spezifisch sind.


Allgemein
Windows7/8/10 sind etwas speziell, denn Overlay-Icons für 256x256 dürfen nicht in der linken unteren Ecke des Icons liegen und nicht bereits kleiner sein, um ein Icon perfekt zu 'überlagern'. 256x256 Overlay-Icons müssen das komplette verfügbare Icon ausfüllen und dürfen auch nicht in der Größe verändert werden.

Oder anders ausgedrückt: Windows7/8/10 nimmt ein beliebiges 256x256-Icon und verkleinert es auf 92x92, verschiebt es in die linke untere Ecke und überlagert.

Für alle anderen Auflösungen kleiner als 256x256 müssen Sie unter Windows7/8/10 ein Overlay-Symbol in der linken unteren Ecke vorbereiten.

Der Icon-Editor der Wahl, der mit Windows7/8/10-Icons umgehen kann, war für meine Untersuchungen RealWorld Icon Editor

Anwenden der Änderungen
Wenn Sie im Dialog LSEConfigs auf OK oder Übernehmen drücken, werden die Einstellungen übernommen.

Wurden Änderungen an den Spracheinstellungen von Link Shell Extensions oder Einstellungen, die sich auf Überlagerungs Symbole beziehen, werden Sie aufgefordert, einen Neustart von Explorer.exe zu bestätigen, damit Ihre Änderungen wirksam werden. Der Neustart von Explorer.exe bedeutet, dass z.B. ein Kopiervorgang oder ein anderer anstehender Vorgang innerhalb von Explorer.exe unterbrochen wird.

Hintergrund Hardlinks sind eine Funktion, die in vielen Unix-basierten Systemen üblich ist, aber nicht direkt unter Windows. Es ist eine Funktion, die vom Dateisystem des Betriebssystems unterstützt werden muss.

Was also sind Hardlinks? Es ist üblich, sich eine Datei als eine Assoziation zwischen einem Dateinamen und einem Datenobjekt vorzustellen. Mit dem Windows-Explorer lässt sich das Dateisystem leicht untersuchen und zeigt eine 1:1-Beziehung zwischen dem Dateinamen und dem Datenobjekt. Diese 1:1-Beziehung gilt nicht für alle Dateisysteme.

Einige Dateisysteme, darunter UFS, XFS und NTFS, haben eine N:1-Beziehung zwischen Dateinamen und dem Datenobjekt, daher kann es mehr als einen Verzeichniseintrag für eine Datei geben.

Wie legt man nun mehrere Einträge für dasselbe Datenobjekt an? Unter Unix gibt es ein Kommandozeilenprogramm ln, mit dem man Link-Einträge für bestehende Dateien erstellen kann. Es gibt daher viele Dateinamen, sogenannte Hardlinks, für das eine Datenobjekt.

Für jeden erzeugten HardLink inkrementiert das Dateisystem einen Referenzzähler der mit dem Datenobjekt gespeichert ist, d. h. er speichert, wie viele Dateinamen auf das Datenobjekt verweisen. Dieser Zähler wird (vom Dateisystem) innerhalb des Datenobjekts selbst gehalten. Wenn ein Dateiname, der auf ein Datenobjekt verweist, gelöscht wird, wird die Datenobjekt Referenz Anzahl um eins dekrementiert. Das Datenobjekt selbst wird nur gelöscht, wenn der Referenzzähler auf Null dekrementiert wird.

Die Referenzanzahl ist die einzige Möglichkeit, festzustellen, ob es mehrere Dateinamen-Referenzen auf ein Datenobjekt gibt, und sie gibt nur Auskunft über deren Anzahl, NICHT über deren Verbleib.

Junctions sind Wurmlöcher in der Baumstruktur eines gerichteten Graphen. Durch das Verfolgen einer Junction wird ein eventuell weit entfernter Ort im Dateisystem verfügbar. Das Ändern, Erzeugen, Umbenennen und Löschen von Dateien innerhalb einer Junction-Baumstruktur wirkt auf das Junction Ziel, d. h. wenn Sie eine Datei in einer Junction löschen, wird sie an der ursprünglichen Stelle gelöscht.

Symbolische Links sind für Dateien das, was Junctions für Ordner sind, da sie sowohl transparent als auch symbolisch sind. Transparenz bedeutet, dass eine Anwendung auf sie zugreifen kann wie auf jede andere Datei, Symbolik bedeutet, dass die Datenobjekte auf jedem verfügbaren Volume liegen können, d. h. sie sind nicht wie Hardlinks auf ein einzelnes Volume beschränkt. Symbolische Links unterscheiden sich von Shortcuts dadurch, dass sie einen transparenten Weg zum gewünschten Datenobjekt bieten, bei einer Verknüpfung (.lnk) muss der Inhalt der Verknüpfungsdatei gelesen und interpretiert und dann kann die Datei geöffnet werden. (d. h. es ist ein zweistufiger Prozess). Wenn eine Anwendung einen Symlink verwendet, erhält sie sofortigen Zugriff auf das Datenobjekt, auf das der Symlink referenziert wird (d. h. es ist ein einstufiger Prozess).


Einschränkungen
  • Unterstützte Plattformen sind NT4/W2K/WXP/W2K3/W2K3R2/W2K8/W2K8R2/W2K12/W2K12R2/WXP64/Vista/Vista/Windows7/8/10 in 32bit, 64bit oder Itanium.
  • Hardlinks können nur auf NTFS-Laufwerken unter den unterstützten Plattformen erstellt werden.
  • Hardlinks können nur innerhalb eines NTFS-Laufwerken erstellt werden und können sich nicht über NTFS-Laufwerken erstrecken.
  • Junctions können nicht auf NTFS-Laufwerken mit NT4 erstellt werden.
  • Die Auswahlmöglichkeiten Link Quelle festsetzen und Einfügen ... sind nur sichtbar, wenn es möglich ist, Hardlinks/Junctions/Symbolische Links zu erstellen. Z.B.: Wenn Sie eine Datei auf einem FAT-Laufwerk auswählen und die Aktionstaste drücken, sehen Sie die Link Quelle festsetzen nicht im Aktions Menü, weil FAT-Dateisysteme keine Hardlinks/Junctions/Symbolische Links unterstützen. Dies geschieht auch, wenn Sie Quelldateien auf einem Netzlaufwerk auswählen, oder eine Datei als Ziel auswählen.
  • Es gibt ein Betriebssystem-Limit für die Erstellung von mehr als 1023 Hardlinks pro Datei. Dies ist weniger bekannt, aber es gibt sie.
  • ReFs unterstützt keine Hardlinks.

Häufig gestellte Fragen
  • Q: Unter Windows7/8/10 zeigt das Feld "Speichern unter..." Symlinks mit der weißen "Verknüpfung" Overlay anstelle des grünen Symlink-Overlays an.

    A: Das passiert, wenn die bei der Installation der Link Shell Extension angezeigten Prozesse nicht geschlossen wurden. Wenn Sie wirklich in diese seltene Situation geraten, hilft ein Neustart.

  • Q: Der Wert der Referenzanzahl wird jedoch nicht aktualisiert, wenn Hardlinks gelöscht werden. Das heißt, wenn ich neue Hardlinks hinzufüge, erhöht sich der Wert korrekt, aber wenn ich Hardlinks lösche, ändert sich der Wert nicht. Ist das ein Fehler? Oder gibt es eine Möglichkeit zum Aktualisieren des Windows Explorers?

    A: Sobald eine Datei im Explorer gelöscht wurde, wird sie in den Papierkorb verschoben, aber nicht wirklich gelöscht. Wenn Sie zum Löschen einer Datei die Umschalttaste-Entf drücken, statt nur die Entf-Taste, wird die Datei wirklich gelöscht und der Verweiszähler wird dekrementiert.

  • Q: Ich konnte keinen erfolgreichen Hardlink für Bild- oder Vektordateien erstellen. Ich war in der Lage, den Hardlink zu erstellen, aber wenn ich den Inhalt der Datei änderte, wirkte sich das nicht auf die andere aus. Ich frage mich, ob Sie wissen, woran das liegen könnte - könnte es an meinem ansonsten ganz normalen Computer (!) liegen oder könnte es etwas mit dem Hardlink-Vorgang zu tun haben?

    A: Sie konnten erfolgreich Hardlinks erstellen, aber wenn Sie einen Hardlink öffnen zum Bearbeiten öffnen, hängt es von dem mit der Datei verbundenen Editor ab, ob die Datei entweder

    • geöffnet, geändert, das Original gelöscht und das neue gespeichert wird ( ==> Link gebrochen )
    • geöffnet, geändert und zurückgespeichert ( ==> Link lebt )

  • Q: Wenn ich ein Quellverzeichnis gelöscht habe, wird dessen Junction point in einem nicht-operativen Zustand zurückgelassen.
    Gibt es eine Möglichkeit, dies zu verhindern? Das heißt, ist es zum Beispiel möglich, automatisch die Junction-Punkte zu löschen, wenn die zugehörige Quelle gelöscht wird? Oder ist es möglich, dass solche verwaisten Junctions nachträglich von einem Programm löschen zu lassen?

    A: Nein, tut mir leid, Junctions sind eine Einwegbeziehung, und wenn die Ziele verschwinden zeigt die Junction auf ein verwaistes Ziel.

    Wenn Sie SmartMove aktiviert haben, ist zumindest innere Junctions/Symbolische Links angepasst.

  • Q: Wenn ich einen symbolischen Link, der auf einen gezippten Ordner zeigt, lösche durch Drücken von DEL, verweigert der Explorer später, wenn ich den Papierkorb leeren will und zeigt mir die Fehlermeldung 0x80071128. Was ist da los?

    A: Leider ist dies ein Fehler im Explorer, und er tritt nur bei symbolischen Links die auf .zip-Dateien zeigen. Der Workaround ist, sie manuell aus dem Papierkorb zu verschieben umzubenennen und dann wieder zu löschen.

  • Q: Ich habe einen symbolischen Link zu einer .exe erstellt und wenn ich doppelt darauf klicke, erhalte ich folgende Fehlermeldung:
    Der angegebene Pfad existiert nicht. Überprüfen Sie den Pfad und versuchen Sie es erneut.

    A: Leider ist das ein Fehler im Explorer, und ich habe keine Ahnung, wie man das im Explorer umgehen kann.
    Wenn Sie den Symlink zu einer .exe von einer Eingabeaufforderung aus starten, funktioniert es einwandfrei, und auch Drittanbieter Explorer wie SpeedCommander können dies tun, aber der Explorer scheint eine eine Einschränkung zu haben
    Kennt jemand den Registry-Hack, um dies in Explorer.exe zu aktivieren? Schreiben Sie mir eine Nachricht.

  • Q: Ich doppelklicke im Explorer auf einen Symlink, der z.B. auf eine .xls zeigt, und der Explorer fordert mich auf, ein ein Programm zu wählen, um es zu öffnen.

    A: Mit KB3039066 hat Microsoft das Verhalten von Symlinks geändert. Deinstallieren Sie es und es wird wieder funktionieren. Siehe auch Symbolischer Link Typ geändert

  • Q: Die Überlagerungs Symbole werden nicht angezeigt

    A: Die Anzahl der verschiedenen Icon-Overlay-Handler, die das System unterstützen kann, ist begrenzt durch die Menge an verfügbarem Platz für Symbol-Overlays in der Systembildliste. Derzeit sind 11 Plätze für Symbol-Overlays unter Windows 10 vorgesehen, von denen einige vom System reserviert sind.

    Gesteuert wird das Ganze durch die alphabetische Reihenfolge der OverlayHandler unter

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

    Wenn die OverlayHandler für LinkShellExtension irgendwie auf einen Platz größer 15 unter 32bit Windows oder größer 11 bei 64bit Windows, werden die LSE Overlay Icons nicht angezeigt.

    Um die Priorität der LSE OverlayIcons manuell zu erhöhen, öffnen Sie den obigen Registry-Speicherort mit regedit und stellen Sie ein Leerzeichen voran

    IconOverlayHardLink --> ' 'IconOverlayHardLink
    IconOverlayJunction --> ' 'IconOverlayJunction
    IconOverlaySymbolicLink --> ' 'IconOverlaySymbolicLink

    und starten Sie entweder den Explorer neu oder melden Sie sich ab und wieder an. Hier geht es darum, die alphabetische Reihenfolge zu ändern zu ändern, indem Sie ein Leerzeichen voranstellen. Das kann in einem Wettlauf um die höchste Priorität enden, weil einige OverlayHandler wie DropBox schon einige Leerzeichen vorangestellt haben.

  • Q: Ich versuche, Dropbox-Dateien nur auf dem Wechselspeicher zu speichern, anstatt auf dem internen 128gb-Speicher. Meine DropBox enthält bereits viele Dateien. Wie schaffe ich die Umleitung des Dropbox-Ordners auf den entfernbaren Speicher?

    A:

    • Kopieren Sie den gesamten Dropbox-Ordner vom internen Speicher unter c:\users\[username]\dropbox nach z.B. x:\data\dropbox
    • Den Dropbox-Ordner c:\users\[username]\dropbox umbenennen in z.B. c:\users\[username]\dropbox_org
    • Link Quelle festsetzen x:\data\dropbox
    • In c:\users\[Benutzername] verwenden Sie Ablegen als und wählen Symbolischer Link oder Junction
    • Wenn alles geklappt hat, löschen Sie schließlich c:\users\[username]\dropbox_org

  • Q: Wenn ich Symbolische Links erstelle, erscheinen sie im Explorer als 0 Bytes. Ich kann mich nicht erinnern, ob dies erwartet wird oder nicht?

    A: Die resultierenden Symbolischen Links werden in Explorer.exe als 0 Bytes angezeigt, das ist zu erwarten.

  • Q: Ich habe nur die Attribute einer Datei geändert, auch der Zeitstempel und der Inhalt sind gleich, aber --delorean kopiert die Datei, anstatt auf die alten Backupsets zu verweisen und nur die Attribute im aktuellen Backup-Set zu ändern.

    A: Die Dateien in den Backup-Sets von --delorean werden hart verlinkt, wenn sie gleich sind. NTFS bietet einen Satz von Zeitstempeln und Attributen für alle Hardlink-Geschwister einer Datei, wenn also eine Datei in einem Backup andere Attribute benötigt, muss sie kopiert werden.

  • Q: Unterbrochene Junctions (mit nicht vorhandenen Zielen) haben ihre Überlagerungs Symbole angezeigt, aber ein Rechtsklick auf sie im Windows Explorer von Windows7 x64 SP1 und die Auswahl von "Eigenschaften" bringt nicht die Registerkarte "Verbindungseigenschaften" hervor. Folglich ist die Information, wohin die defekte Junction zu zeigen versucht, nicht zugänglich und kann nicht manuell korrigiert werden.

    A: Leider ist dies ein Explorer-Problem, und LSE hat keine Möglichkeit, einzugreifen. Kaputte Symlinks/Juncitons können mit der Funktion Ersatz-Junction/Symbolischer Link leicht repariert werden.

  • Q: Wenn ich mit der rechten Maustaste auf einen symbolischen Link klicke und zu den Eigenschaften gehe, und auf Link-Eigenschaften klicke, wenn der darin enthaltene Pfad ungültig ist, erscheint die Meldung "Der im Feld Ziel angegebene Name '(ungültiger Pfad geht hier hin)' ist nicht gültig. Stellen Sie sicher, dass der Pfad und der Dateiname korrekt sind.

    A: Leider ist dies ein Explorer-Problem, und LSE hat keine Möglichkeit, einzugreifen. Kaputte Symlinks/Juncitons können mit der Funktion Ersatz-Junction/Symbolischer Link leicht repariert werden.


History
in progress Version 4.0.0.0
  • Complete support for UNC path in any Smart Move/Copy/Clone & Delorean Operation.
  • Lots of little fixes/improvements, I always wanted to do, but never had the time to.
16 Jänner 2021 Version 3.9.3.5
  • ln.LSE kann auch via winget package installiert werden.
  • UAC dialog wurde geöffnet auch wenn SE_CREATE_SYMBOLICLINK dem User zugewiesen war.
  • Deutsche Übersetzung der Dokumentation.
  • Pressing F1 in LSEConfig crashed it. Fixed.
  • During Hardlink/Symbolic Link Clone pressing Cancel didn't have an impact.
  • Progress bar prediction has been improved.
  • Fixed crash when username was > 20 chars as non-admin during symbolic link drop.
  • Link ShellExtension now maintains its chocolatey package.
  • Link ShellExtension is public on gitlab.
November 8, 2019 Version 3.9.3.0
  • For non Admin users under Windows 10, the explorer did not restart after install
  • During custom icon change one was asked to close lots of dependant apps, which is uneccessary. Reboot Explorer.exe is enough.
  • Lots of strings very wrong. Introduced with 3.9.2.8
  • Removed 'Delete Junction' from main menu.
  • Improved menu hydraulics, e.g. once can not create Smart Copies of Symbolic Link Files.
  • Adapted check for Redistributables to VS2017 and Windows 10.
  • On non NTFS drives, files could not be selected as Link Source. Introduced with 3921
  • Unmount volume did not work, when elevation was needed.
  • New Windows 10 screenshots for docu and docu streamlining.
  • Signed with a standard code signing certificate
  • During Replace Junction/Symbolic Link/Mountpoint the original attributes got lost
  • The Link Properties Tab showed relative symbolic link dirs as absolute
  • The Link Properties Tab did not show up on dangling Junctions
  • Creation of file symbolic links didn't work in protected folders like 'Program Files' with Developer Mode on.
  • Replacement Junction/Symbolic Link didn't work on dangling Junction/Symbolic Link.
  • UAChelper mixed up relative and absolute link creation. Introduced with 3920
  • Added Ukranian localization, Finished localisation for missing texts
  • Cross Drive Drops didn't work. Introduced with 3921
  • Properties Dialog could cause a crash on changing junction targets
  • Autorename had a flaw when having more than 9 files with same name in a directory
  • Backup mode was broken. Introduced with 3921
  • Introduce Copy Symbolic Link/Junction/Mountpoint
  • Changes of non-admin users to e.g. symlink relativ/absolute had no effect. Fixed the misconception. What a mess
  • LSE is on gitlab.com. For now only private, but hope to change this soon.
  • SmartMirror in LSE had problem with nested reparse points
  • The symbolic replacement mechansism was broken for the elevated use-case. Caused by 3.8.7.2
  • Improved the progress estimation for the progressbar and introduced the Windows7 progress dialog
December 28, 2018 Version 3.9.0.2
  • Improved the progress estimation for the progressbar
  • Fixed crash in LSEConfig when it replaced the texts upon startup
  • Removed vcredist-vs2005 check from installer
  • [Internal] but important change from VS2005 (sic) to VS2017. Basically everything compiled smoothly except for the heap, thus...
  • [Internal] Removed the Rockall fast heap. This was neccessary, but also a big performance gain. Memory allocation is 2 times faster, and memory deletion is 10 times faster. Memory allocation is crucial for the core of ln.exe and LSE.
  • [Internal] Dropped Itanium configuration, since VS2017 does not support it anymore, and I am sure there is no Itanium hardware out in the wild anymore.
December 2, 2018 Version 3.8.7.2
  • The overlay icons didn't show up under 32bit applications.
  • With Windows 10 LSE shows flat icons for symlinks, hardlinks and junctions. Thx to Yaroslav for the icons.
  • The overlay icon for Junctions didn't show up at all with Windows 7.
  • Symbolic Link creation is now possible unelevated for Windows 10/14972 when in developer mode.
  • The property dialog for hardlinks, when used on substituted drives, showed wrong path for the siblings.
  • Third party filesystems can be configured.
April 19, 2016 Version 3.8.6.8
  • Relative symbolic links on absolute symbolic links to a different drive, were not created properly.
  • Added Greek localization. Thanks to George Malamas!
  • SmartMove didn't work when Backup Mode was enabled.
  • Runs again with Windows 2000 (Flaw introduced with 3.8.6.6).
  • The Vcredist check is back by default, but can be skipped by passing /noredist during install via commandline.
  • Relative symbolic links on UNC path were recreated with wrong target during SmartCopy.
  • NTFS filesystem fragmentation decreased and thus copying should be faster
  • Cancel works when pressed during copying of (large) files.
  • Creation of hardlinks in UAC protected folders caused an error message, even if the hardlink was created.
January 10, 2016 Version 3.8.6.6
  • Files with a size beeing a multiple of 16777216 were copied properly, but in the logfile generated an error message even if there was none.
  • The progress bar didn't increase properly during Smartmirror if the files were the same.
  • In a rare situation only the first symbolic link of a smart-copy was linked incorrectly.
  • The Auto Rename functionality didn't work in rare situations. Fixed for XP and Windows7/8/10
  • Adaptions for Windows 10 Tech Preview 9841/9926.
  • Fixed a crash, when files were dropped from Bandzip to the desktop.
  • Added localization for Korean. Thanks to Mireado from Korea!
  • Fixed a crash in W10 when closing the properties dialog on junctions/symlinks.
  • On Windows10 systems which have been upgraded from Windows7 the enumeration of hardlinks siblings via the property page takes very long.
  • Prerequisites install not needed with Windows 10, thus do not check for prerequisites under Windows 10.
  • Prerequisites still checked by installer with Windows10.
June 3, 2014 Version 3.8.5.1
  • The Backup Mode arrived to LSE.
  • LSE produced logfiles with LF but not CR/LF.
  • Junctions/Symbolic Links/Mountpoints ACLs are preserved when the target is changed either via Replacement functions or editing from the Link Properties.
  • Japanese translation for LSEConfig.
  • The target of mountpoints can be changed from Link Properties.
  • LSE now can handle Mountpoints during SmartXXX/Delorean operations.
  • WindowsXP: Symbolic links across drives didn't work.
  • WindowsXP: Symbolic links to Volume GUIDs didn't work.
  • WindowsXP: Symbolic links between very long path didn't work.
  • WindowsXP: Lots of tweaks here and there.
  • UNC path as Link Source for SmartCopy/Mirror/Delorean/SymbolicLinkClone now work.
December 29, 2013 Version 3.7.5.9
  • With Delorean Copy when elevated via LSEUacHelper.exe in rare situations files pointed to by symlinks could get deleted in the source. Ugly. Sorry!
  • A changed file attribute didn't cause the file to be treated as changed during all SmartXXX/Delorean functions.
  • Symbolic Link Clones always created absolute symlinks regardless of the LSE Settings
  • The LastWriteTime, CreationTime and LastAccessTime for files/folders/junctions/symlinks is restored during SmartMirror or DeloreanCopy.
August 23, 2013 Version 3.7.5.1
  • Dead Junctions to a different drive could lead to not detecting hardlinks during all operations. Very Nasty, but no dataloss caused.
August 4th, 2013 Version 3.7.5.0
  • For Junctions or Symbolic Links the Target field can be edited in the Properties Dialog.
  • LSE elevates the creation of hardlinks in system protected directories, e.g.: %systemroot%.
  • LSE now offers all its function also in the Library folder.
  • If enabled LSE summarizes the ouptut of operations in a log file.
  • Fixed a crash related to UNC path and Overlay Icons.
  • The progress bar showed wrong/incomplete filename-path combinations during operations on large files.
  • Symbolic links to mapped network drives can be created now via LSE.
  • Replacement functions can be used to repair broken junctions/symbolic links/mountpoints.
  • During SmartCopy/SmartMirror/DeloreanCopy the type (absolute/relative) of symbolic link relation is kept in the destination.
  • During SmartCopy/SmartMirror/DeloreanCopy the Compression Attribute is copied too.
  • The check for prerequisites during install is more accurate aka takes mfc80.dll into account.
  • During un-install it is also checked if the hardlinkshellext.dll is held by some process.
  • Fixed a problem during SmartMirror when a directory changed into a file or vice versa from one mirror to the next and had exactly the same name.
  • The OS Version detection during installation went wrong on certain machines causing symlinke.exe missing from the installation.
  • The eunmeration of hardlink siblings didn't work under XP, when the root dir of a drive had to be traversed.
  • Tested with Windows8, and thus updated the documentation.
  • The x64 version now contains also a 32bit version in one unified install.
  • Deinstallation left over a few registry keys.
  • During installation not all processes were detected, which blocked the installation.
  • Enabled Link Shell Extension on ReFs volumes.
  • Added a Swedish localisation. Thanks to Mikael Grönholm.
  • Added a Turkish localisation. Thanks to Memet.
  • Added a Czech localisation. Thanks to Ashus
  • Added a Slovak localisation. Thanks to RobertS
  • LSEConfig has been localised.
  • The handling of the compression bit during copying/mirroring/deloreaning for files and directories was broken.
  • Draging from or Droping to zipped folders caused an explorer crash.
  • LSEConfig localized to French.
  • Columnprovider shows now shrinked path for junctions if the path is longer than 32characters.
  • On some machines LSEConfig always showed up with French. Introduced with 3.749
June 24th, 2012 Version 3.7.2.0
  • When working on mapped network drives via SMB or CFIS, as many NAS boxes do, LSE uses a more traditional enumeration mode and this will copy files ( which it did not in any case ).
  • Multiple locations can be selected and the location are treated as a common root with respect to hardlinks/junctions/symbolic links.
  • Nested junctions and symbolic links ( aka junctions on junction on junctions ... ) are now properly restored in any situation.
  • Smartmove had problems with relative symbolic links in rare situations.
  • Italian translation updated.
  • Support for symbolic links under Window XP.
  • Can handle subst.exe created driveletters.
  • Overlay Icons for symbolic links under Window XP are available now.
  • Fixed a few bugs related to WindowsXP and symbolic links handling.
  • Elevation to LSEUacHelper.exe now happens only if UAC is on, or the elevation is really neccesary.
  • Fixed a problem with the creation of absolute symbolic links to directories.
  • The installer came up with Chinese as default installation language.
  • LSEConfig has an About Box, which shows the version of Link Shellextension.
  • Replace Symbolic Link failed when not elevated.
  • Replace Symbolic Link always created absolute symbolic links regardless of the settings when not elevated.
  • Drop Symbolic Link sometimes did not create absolute links when needed in certain situations.
  • The installer now shows the language of the installed OS as default.
  • The installer provides more info in Control Panel/Program and Features.
  • The target of the Symbolic Liks or Junctions can be edited in the properties dialog.
  • Non administrators could not create symbolic links.
  • With XP and the symlink driver installed the Delete Junction menu didn't show up.
  • The status of the privilege for Symbolic Link Creation is checked, so that UAC can be avoided
  • Fixed deployment problems for the Win32bit version.
March 9th 2012 Version 3.6.5.3
  • Speed improvements during SmartCopy/SmartMirror/HardlinkClone and Delorean Copy.
  • Introduced new Heap Manager Rockall for x64 and x86 builds to gain performance.
  • Russian translation updated.
  • Installation notifies about already running processes, which would make LSE installation fail, because they have loaded dlls from LSE.
  • Fixed issue with Windows 8 installation.
  • Symbolic Link Icon Overlays installation in registry was wrong, causing problems with the green arrow for symlinks.
April 17th 2011 Version 3.6.0.4
  • With all Smart* functionality, Outer Junctions/Symbolic Links can now be unrolled or spliced.
  • Added Smart Mirror.
  • Speed improvements to Smart Copy, Smart Move and Delorean Copy.
  • The configuration tool does not restart explorer for minor changes to the settings.
  • Symlinks creation resulted in absolute symlinks even if creation of syminks was specified as relative, if their common ancestor was a root dir.
November 21st 2010 Version 3.5.0.1
  • Introduced DeLorean Copy, which is a way of creating incremental copies using hardlinks.
  • Fixed creating Symbolic Links from Symbolic Link files created Symbolic Link directories.
October 3rd 2010 Version 3.4.0.2
  • LSE now by default creates relative target path names when creating symbolic links.
  • Symbolic Links now have an overlay icon.
  • Added a configuration tool for LSE options
  • Added a priority level for the indidual overlay icons.
  • Added an option to switch off overlay icons totally for each type of overlay.
  • The Pick Link Source context menu now also shows up on FAT drives, if the item potentially is the source for a LSE operation.
  • Overlay icons can be disabled.
  • Documented how the install directory can specified when using silent (un)install.
  • The menu hydraulics have been reworked, so that it is decided early to only show menu for chioces, which are really possible.
  • LSE and symlink are now linked with ASLR.
  • Tranparency glitches in the Junction overlay icon have been fixed.
  • Hardlink Clone and Symboliclink Clone have been extended so that Inner Junctions and inner Symbolic Links are properly handled.
  • LSE now supports also the replacement of Mountpoints and Symbolic Links.
  • LSE shows a dialog box whether explorer should be restarted or not during non silent installation.
  • Under Windows Vista and Window7 the Delete Junction menu doe not show up anymore.
July 19th 2010 Version 3.3.5.8
  • LSE now deals with Symboliclinks during Smart Copy.
  • LSE supports Smart Move functionality, which updates inner junctions/symlinks in case of moving/renaming directories
  • Added localization for Brazilian Portuguese. Thanks to Marcio R. for the translation.
  • Fixed flaws of the automatically renaming feature with respect to directories under W7.
  • Overriding custom overlay icons under HKCU was flawed.
  • Hardlink Clone now restores the attributes of cloned folders.
  • Smart Move progress bar showed a wrong caption text.
  • Added Polish localisation, Thanks to Arthur from Poland.
  • Fixed a crash during undeleting files from Recycle Bin.
  • Mountpoints could not be properly created under Windows XP.
  • gFlags was not properly read from the HKCU registry, causing Smart Move Disable and Remote capabilities Disable to malfunction.
  • Fixed the problem of Hardlink Clone stopping unsolictedly after about 500msec.
February 21st 2010 Version 3.2.2.4
  • Added localization for Chinese and Russian. Thanks to Zuo Weiming and Ivan(b0s) for the translations.
  • Longer lasting operations, like Smart Copy, Symbolic Link Clone, Hardlink Clone, or Enumerate Siblings show a progress bar.
  • The Properties dialog of an item offers an 'Explore Target' button for Junctions, Mountpoints and Symbolic Links.
  • Added localization for Japanese. Thanks to Taka from Japan!
  • Under Windows7 auto rename behaves in the same way as Windows7/8/10 does for '- Copy'.
September 28th 2009 Version 3.1.6.0
  • With W2K the junction creation was broken.
  • Fixed a handle leak caused by enumerating hardlink siblings under non Vista/W2K8
  • Under Vista & W7 one can create junctions everywhere without elevation, but not in e.g c:\Program Files. LSE is now aware of this and asks elevation for junction creation when necessary.
  • With drives mapped via a Remote Dektop session, the whole explorer & remote desktop session hang, when this drives was expanded in explorer, but only under W2K3 as terminal server.
  • Support for Windows7
  • Hardlink Sibling Enumeration now also works for XP, W2K NT4, but due to OS contraints not that fast as with Windows7.
  • Under W2K it turned out, that CreateHardlink() from kernel32.dll with long pathnames (e.g. \\?\) was broken.
  • Fixed a memory leak in serving as COM server.
October 4th 2008 Version 3.0.0.1
  • There is a new Smart Copy feature, which enables LSE to copy whole folder structures and preserve the inner hardlink and junction structure.
  • Very Long Pathname support added for Smart Copy and Hardlink Clone.
  • Junctions can now be created targeting also Junctions.
June 21st 2008 Version 2.9.5.3
  • Hardlinks can be enumerated under Vista & Windows7.
  • Fixed a handle leak for HKCU\Software\LinkShellExtension.
  • Removeable media support didn't work, when remote capabilities were switched off.
May 1st 2008 Version 2.9.0.3
  • Already existing Junctions can be replaced by dragging a directory over it
  • Naming has been streamlined more towards 'Link Shell Extension'
  • If the maximum number 1023 of hardlinks for a file is exceeded, an error message is displayed. This applies for hardlinks and hardlink clones.
  • The Vista & Windows7 junction overlay icon in 256x256 is in proper size.
  • Custom icons can be specified for Junction and Hardlink overlays
  • Version for Itanium available
  • Pick/Drop does not interfere with the creation of Hardlinks, Junctions or Symbolic Links via Drag and Drop. It is now possible to pick a link, then drag another file via right mouse click to some location, drop it there and afterwards drop the first, picked file
  • The property dialog of a Volume Mountpoint now displays the logical drive letter of the mounted drive instead of the odd volume name.
  • Ongoing work towards localisation to East Asian languages.
  • LSE now also works on removable NTFS media, which are not A: or B:
  • The location in the registry to specify the LSE language has changed, since the old place under HKCR was not Vista & Windows7 compatible at all.
  • Default values for language settings and overlay icons settings are copied over automatically to freshly logged on users profile
  • Volume Mountpoint support for Vista & Windows7.
  • Introduced silent install capabilities.
  • Symbolic Links now can be created even if the filename contains UTF-16(Asian)characters.
  • LSE now also works for non Administrators under Vista & Windows7 (after they acknowledged the elevation dialog with the admin password for sure).
  • Symbolic Links for files or directories can now be created across volumes.
  • LSE now can also create Hardlinks from Shortcuts, which didn't work for ages.
  • The print name (the name some can see to the right of a junction, after issuing 'dir' in a command prompt) for Junctions under Vista & Windows7 is now correct.
  • Lots of usability fixes
  • During Installation under Vista64 Explorer automatically gets restarted.
  • The setup contains a check if the VS2005 SP1 Redistributable Package is installed.
  • The setup contains a check if the LSE version for the proper platform is going to be installed.
  • Vista & Windows7 compliant overlay icons for Hardlinks.
January 20th 2008 Version 2.8.0.6
  • Hardlinks show up with a small overlay icon. This icon will change for Vista compliancy, but at least it is here now.
  • Junctions have a Vista compliant overlay icon in many resolutions
  • Support of creation and deletion of Volume Mountpoints. Unfortunately this does not work under Vista
  • LSE now prevents the creation of 'loops', when setting up a junction or hardlink clone
  • Hardlink 'cross drive drops' are now not possible anymore
  • Some bug fixes for NT4
  • Lots of usability fixes
October 16th 2007 Version 2.7.1.0
  • First fixes for the x64 world. Maybe more to come. Fixing x64 is top priority since I have Q6600 myself now...
March 25th 2007 Version 2.7.0.1
  • Fixed a nasty bug, which caused HardlinkShellExt to slow down explorer, when it was started. Also fixed the problem that it accessed drive A:, when an explorer started.
  • PropertySheet on file and directory properties will show various info with W2K/XP
  • Delete Junction is back, because sometimes, especially when deleting junctions, which point to directories with big amount of data, the Copyhook Handler does not act as expected. Until this phenomenon is solved, Delete Junction is back.
January 12th 2007 Version 2.6.0
  • Link Shell Extension is now robust with respect to deleting junctions. Delete commands issued from explorer unlink junctions, but do not delete its content.
  • Due to Junction-awareness of explorer the Delete Junction is gone from the context menu
  • Support for Windows Vista & Windows7. Link Shell Extension is now capable of creating Symbolic Links, but also has a few restrictions related to the Reference column
December 27th 2006 Version 2.5.1 released
  • Added localisation for Italian and Spanish to commands and messages. Thanks to Nicola Guidotto and Diego Segobia for the translations.
December 6th 2006 Version 2.4.0 released
  • Added localisation for French and German to commands and messages
November 26th 2006 Version 2.3.0 released
  • Minor fixes in the installer/deinstaller
  • Introduced the hydraulics of multiple auto rename. If you drop links/junctions in the same directory, now it behaves exactly as explorer and puts numbers on the multiple instantiations of a file.
June 16th 2006 Version 2.2.2 released
  • BugFix. Link Shell Extension is now also able to create hardlinks via Drag and Drop in root dirs of a drive.
May 29th 2006 Version 2.2.1 released
  • Updated documentation after review of Philip Daniels
  • Made a big step forward to being Vista compliant
  • Fixed path length limitations in several places
  • Junctions can span over local NTFS volumes
March 14th 2006 Version 2.1 released
  • Added overlay icons for junctions, so that junction visually pop into your eye.
February 27th 2006 Version 2.0 released
  • Revamped the internal structure of ShellExt.
  • Introduced creation of Hardlink Clones.
  • Introduced submenu in the context menu, when more than one entries would be added to context menu to show the many dropping choices
  • Support for SymbolicLinks with 'Vista'.
  • Support for SymbolicLink Clones with 'Vista'.
  • Fixed crashes when dragging files, and using 'HardLink here'.
  • Fixed problem when showing up wrong menu, when having folders disabled in the left explorer pane.
  • Junctions display their origin in the reference column.
  • A Pick Link operation can be cancelled now.
  • The installer restarts explorer.exe to properly add/remove the shell extension
  • Added an entry to Start Menu/Programs
  • Support for WindowsXP64.
November 26th 2005 Version 1.7 released
  • Added the Delete Junction context menu, when right mouse button is pressed on a junction.
  • Fixed a handle leak in CreateJunction.
January 23rd 2002 Version 1.6 released
  • Added a Columnhandler, so that the reference count of a hardlinked file is shown in explorer. This feature only works with W2K/WXP.
  • Deployment revamped so that the doc is now in .html.
October 27th 2001 Version 1.5 released
  • Revamped internal string handling to Unicode.
  • Added junction support. Junctions are a feature of NTFS5, which allows to hardlink two directories.
  • Added a directory background handler. This means, that after picking a hardlink it is possible to press the right mouse button on the right explorer pane and drop the hardlinks/junctions/symbolic-links.
March 23rd 2001 Version 1.201 released
  • Fixed occurrence of 'Hardlink Here' if shortcuts are selected.
March 23rd 2001 Version 1.20 released
  • Added Drag and drop support
March 20th 2001 Version 1.10 released
  • Fixed the problem, that the help text was not displayed properly
  • Changed the installer to the lean and mean nullsoft installer.
  • Fixed the problem, that read-only files can not be hardlinked
  • Fixed the problem, that hardlinks in the root dir didn't work
  • Tested on W2K and HardlinkShellExt is W2K compliant
May 8th 1999 Version 1.00 released

Status The 3.9.3.x version is a stable version for the supported plattforms.


Acknowledgements I wish to thank those who have contributed significantly to the development of Link Shell Extension. Those include:

Felix Kasza for the hardlink basics with NT4.
Nullsoft for the great lean and mean nsis installer
Jean-Pierre Bergamin for the drag and drop support samples.
Travis Illig suggested to add the overlay icons for junctions, which he uses in his Junction Shell Extension.
Mark Russinovich for tips on junction
Philip Daniels for a technical writers documentation review
Daniel Thibault for the French localisation, and for a dozen of bug reports and feature requests.
Masatoshi Kimura for the symbolic link driver for WindowsXP.
Gerard Durand for the French translation of the documentation


Open Issues
  • With Vista & Windows7 the column handler in explorer, providing the reference count, does not work, since Microsoft deprecated the interfaces with respect to this functionality.

License
  • This program is provided as is. See license.txt from this distribution for legal issues.
  • Link Shellextension uses tre as the regular expression machine. See the tre license.

Contact / Donations Bug reports, or feature requests send to Hermann Schinagl..
LSE is and will be freeware, but if LSE was really helpful for you and saved lots of your time please think of donations either via PayPal


or by flattring me



or by sending me a gift certificate from

amazon.de .



or by donating bitcoins:

bc1q4hvevwrmnwt7jg8vws0v8xajywhffl4gwca5av



Link Shellextension also has its page on Facebook , where you can find announcements for new releases, and you can discuss feature requests

facebook .

Link Shellextension broadcasts its release notes via RSS .

rss feed .

Download
All Windows 64
This version contains the 64bit version of Link Shell Extension, but also contains a 32bit version, which is installed in parallel to the 64bit version, to satisfy third party filemanagers/explorers like total commander:

Link Shell Extension (3.76Mb)

All neccesary runtime dlls are already installed on your system, but if not grab it from here for 64bit and here for 32bit
 
 
All Windows 32
Simply download and install
Link Shell Extension (3.56Mb)


All neccesary runtime dlls are already installed on your system, but if not grab it from here.



Chocolatey
Installation
Link ShellExtension can also be installed via chocolatey by issuing

choco install linkshellextension



Winget
Installation
LSE kann auch via winget und dem Komando

winget install HermannSchinagl.LinkShellExtension

von einem Command prompt installiert werden. Stellen sie dicher, dass winget installiert ist.





Legacy
Download
All Windows Itanium
The Itanium version is not supported anymore, but the last VS2005 based version 3.8.7.2 is kept for legacy.
Please make sure that the necessary runtime .dlls are installed on your system. This prerequisites package can be downloaded from Microsoft:

vcredist_IA64.exe for VS2005 SP1, version 6195/June 2011 (6.3 Mb)

Afterwards install the
Link Shell Extension (3.76Mb)



Windows NT4 The version for Windows NT4 will be no more activley developed on, and its functionality is frozen with version Link Shell Extension 3.2.0.0 (1.13Mb), which basically has all the important features.

 
Windows 2000
Windows XP
The version for Windows 2000 and for Windows XP will be no more activley developed on, and its functionality is frozen with Link Shell Extension 3.8.7.2 (32 bit) and Link Shell Extension 3.8.7.2 (64 bit)


 
Symbolic Link Driver
for Windows XP
The driver to enable even WindowsXP with symbolic link functionality is provided courtesy of Masatoshi Kimura. You can download the driver from his homepage or from my site acting as a mirror.

Symbolic Drivers for WindowsXP 64 (86kb) [Original Location]
Symbolic Drivers for WindowsXP 64 (86kb) [Mirror schinagl.priv.at]

Symbolic Drivers for WindowsXP (86kb) [Original Location]
Symbolic Drivers for WindowsXP (86kb) [Mirror schinagl.priv.at]

Sources for Drivers (23kb) [Original Location]
Sources for Drivers (23) [Mirror schinagl.priv.at]