chavezhh

Hardlinks mit Platzhaltern

Moin Moin,

ich bin vor kurzem auf die nette Funktion "mklink" gestoßen...

^^ damit ist es u.a. möglich so genannte Hardlinks in Windows zu erstellen.


mklink /J "C:\Ziel"C:\Quelle"

soweit so gut.. Allerdings möchte ich den gesamten Inhalt des Ordners "Quelle" in
einen bereits bestehenden Ordner "Ziel" verknüpfen. Ist dies mit Trick möglich?
Share on Facebook
Share on X (Twitter)
Share on Reddit
Share on Linkedin

Content-ID: 374643

Url: https://administrator.de/forum/hardlinks-mit-platzhaltern-374643.html

Printed on: August 2, 2025 at 07:08 o'clock

SeaStorm
SeaStorm May 22, 2018 at 07:37:22 (UTC)
Hi

du verweist mit einem Link ja von Ziel nach Quelle. Geht ein User also auf Ziel, dann wird er tatsächlich auf Quelle landen.

Entsprechend musst du den Inhalt von einem bestehenden Ziel nach Quelle verschieben, dann ZIEL löschen und durch erstellen eines Links den Verweis machen.
Lochkartenstanzer
Lochkartenstanzer May 22, 2018 updated at 08:04:41 (UTC)
Zitat von @chavezhh:

Moin Moin,

ich bin vor kurzem auf die nette Funktion "mklink" gestoßen...

^^ damit ist es u.a. möglich so genannte Hardlinks in Windows zu erstellen.


mklink /J "C:\Ziel"C:\Quelle"

soweit so gut.. Allerdings möchte ich den gesamten Inhalt des Ordners "Quelle" in
einen bereits bestehenden Ordner "Ziel" verknüpfen. Ist dies mit Trick möglich?


Wenn Du die Verzeichnisse Quelle und Ziel per Hardlink verknüpfst, sind das im Endeffekt die gleichen verzeichnisse. Damit ist es egal, in welchem Du schreibst oder liest, Du erwischt immer das gleiche Objekt.

Wenn Du hingegen die Objekte innerhalb der Verzeichnisse "hardlinken" willst, mußt Du mit einer for-Schleife alle Objekte durchgehen und verlinken.

lks
Pedant
Pedant May 22, 2018 at 08:17:15 (UTC)
Hallo chavezhh,

wie es geht hat SeaStorm ja schon erklärt, dennoch ein paar Anmerkungen:

Zitat von @chavezhh:
mklink /J "C:\Ziel"C:\Quelle"
Syntaxfehler.
So wär's richtig:
<code type=plain">mklink /J "C:\Ziel" "C:\Quelle"


Zitat von @chavezhh:
...damit ist es u.a. möglich so genannte Hardlinks in Windows zu erstellen.
Das ist richtig, wobei ein Hardlink mit /h erstellt wird. Mit /j erstellt man eine Verzeichnisverbindung (Junction).

Zitat von @chavezhh:
mklink /J "C:\Ziel"C:\Quelle"
...in einen bereits bestehenden Ordner "Ziel" verknüpfen
Generell darf bei der Ausführung dieses Befehls das Ziel (noch) nicht existieren.
(Deswegen der von SeaStorm beschriebene Umweg)

Gruß Frank
erikro
erikro May 22, 2018 at 08:29:43 (UTC)
Moin,

ins Unreine und ungetestet als Idee in der Powershell:

get-childitem | %{ mklink /h "c:\ziel\$_.name" "$_.fullname"}  

Wenn Du auch Unterverzeichnisse hast, die mit gelinkt werden sollen, dann wird es deutlich komplizierter. Nur, damit das klar ist: Hardlinks gehen nur auf derselben Partition. Softlinks hingegen gehen auch laufwerksübergreifend.

hth

Erik
ukulele-7
ukulele-7 May 22, 2018 at 09:49:03 (UTC)
Man kann auch einen Hardlink auf einen schon erstellten Softlink setzen. Hat bei mir im Explorer funktioniert aber meine Anwendung fand das gar nicht witzig.