chavezhh
Goto Top

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?

Content-ID: 374643

Url: https://administrator.de/contentid/374643

Ausgedruckt am: 23.11.2024 um 02:11 Uhr

SeaStorm
SeaStorm 22.05.2018 um 09:37:22 Uhr
Goto Top
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 22.05.2018 aktualisiert um 10:04:41 Uhr
Goto Top
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 22.05.2018 um 10:17:15 Uhr
Goto Top
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 22.05.2018 um 10:29:43 Uhr
Goto Top
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 22.05.2018 um 11:49:03 Uhr
Goto Top
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.