Wie erstelle ich einen Verzeichnis-Hardlink in Windows?

13

Ich habe versucht, einen Verzeichnis-Hardlink (kein symbolischer) zu erstellen.

Ich habe es versucht: mklink /d /h newfolder currentfolderaber es sagt mir, dass der Zugriff verweigert wird . Ich verstehe nicht, wie der Zugriff verweigert wird, da ich als Administrator Batch ausgeführt habe.

Wie erstellen wir einen Verzeichnis-Hardlink?

==
Windows Vista Home Premium SP2

Pacerier
quelle

Antworten:

15

Ich denke, dass harte Links nur für Dateien und nicht für Verzeichnisse sind.

Kobaltz
quelle
4
Ja, es gibt keine festen Verzeichnisverknüpfungen, nur Knotenpunkte und symbolische Verknüpfungen.
Harry Johnston
1
Hardlinks für Verzeichnisse sind technisch möglich, bedürfen jedoch größter Sorgfalt, um Schleifen im Dateisystem zu vermeiden. Das einzige Betriebssystem, das dies zulässt, ist Mac OS X 10.5 zur Verwendung in Time Machine.
user1686
> Ich denke, dass harte Links nur für Dateien und nicht für Verzeichnisse sind. Danke für die Bestätigung; Ich habe immer die Absicht, Symlinks und
Ähnliches
1
naja ... unter linux-systemen kann man das mount --bindfür ordner benutzen aber ich bin mir nicht sicher ob es etwas ähnliches in windows gibt!
DJCrashdummy
7

Es gibt keine feste Verknüpfung zu einem Verzeichnis in Windows. In Windows erstellen Sie entweder mit dem Befehl eine symbolische Verknüpfung zu einem Verzeichnis mklink /d link_name target_diroder Sie erstellen eine Junction mit mklink /J link_name target_dir.

Anders als harte Links können Junctions mehrere Volumes umfassen und werden von Microsoft manchmal als "weiche Links" bezeichnet, wie Sie hier lesen können :

Eine Junction (auch als Softlink bezeichnet ) unterscheidet sich von einer Hardlink darin, dass die von ihr referenzierten Speicherobjekte separate Verzeichnisse sind und eine Junction Verzeichnisse auf verschiedenen lokalen Volumes auf demselben Computer verknüpfen kann.

Hier sind einige Vorsichtsmaßnahmen erforderlich, da die Microsoft-Nomenklatur nicht wirklich ordentlich ist. Mit wenigen Worten, dies sind Ihre Optionen zum Erstellen von Verweisen auf Dateien und Verzeichnisse in Windows:
(1) Verknüpfungen: Dateien, deren Inhalt der Speicherort einer anderen Datei ist. Es funktioniert mehr oder weniger wie ein Softlink, mit dem entscheidenden Unterschied, dass es sich NICHT um einen Verzeichniseintrag handelt. Die Linkinformationen werden in der Datei gespeichert. Aus diesem Grund funktioniert es nicht mit vielen Anwendungen (zumindest funktioniert es so, wie es im Windows Explorer vorgesehen ist ...);
(2) harte Links: erstellt mit dem Befehl mklink /h. Gilt nur für Dateien und funktioniert innerhalb eines bestimmten Volumes (dh wie unter Linux können Sie eine Datei weder auf einer anderen Partition noch auf einem Netzwerklaufwerk fest verknüpfen).
(3)Kreuzungen: Dieses Biest ist wirklich komisch. Es funktioniert nur mit Verzeichnissen und kann - komischerweise - auf Verzeichnisse in anderen Dateisystemen verweisen.
(4) symbolische Verknüpfungen: Es ähnelt Linux und funktioniert auch mit Verzeichnissen und Dateien. (Benötigt jedoch in der Regel Administratorrechte, was es sehr unpraktisch machen kann.) Wie oben erwähnt, wird es mit dem Befehl mklink /d link_name target_dirfür Verzeichnisse (und mklink link_name target_filefür Dateien) erstellt. Mehr dazu können Sie hier lesen .

Humberto Fioravante Ferro
quelle
Ich empfehle dringend, den Kommentar aus Ihrer Antwort zu
entfernen
Ist es eine Meinung oder habe ich eine Regel des Forums verletzt?
Humberto Fioravante Ferro
Wir sind kein Forum
Ramhound
Richtig, Kommentar herausgenommen. Entschuldigen Sie!
Humberto Fioravante Ferro
1
@Sz du hattest vollkommen recht, und ich habe meine Antwort gemäß deinen Kommentaren geändert (in der Tat war die Antwort etwas verschwommen). Vielen Dank!
Humberto Fioravante Ferro
-2

Verwenden Sie / J, um einen Hardlink zu erstellen, der auf ein Verzeichnis verweist, das auch als Directory Junction bezeichnet wird:

mklink /J Link Target
Joseph Schafer
quelle
Junctions sind weiche Links ...
DavidPostill