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-Key: 374643

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

Printed on: April 19, 2024 at 22:04 o'clock

Member: SeaStorm
SeaStorm May 22, 2018 at 07:37:22 (UTC)
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.
Member: Lochkartenstanzer
Lochkartenstanzer May 22, 2018 updated at 08:04:41 (UTC)
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
Member: Pedant
Pedant May 22, 2018 at 08:17:15 (UTC)
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
Member: erikro
erikro May 22, 2018 at 08:29:43 (UTC)
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
Member: ukulele-7
ukulele-7 May 22, 2018 at 09:49:03 (UTC)
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.