Nejprve stručná definice pojmů. V systému Windows existují tři druhy „symlinků“.

  • měkké odkazy (nazývané také symlinky nebo symbolické odkazy)
  • tvrdé odkazy
  • spojky (typ měkkého odkazu pouze pro adresáře)

Měkké odkazy lze vytvořit pro soubory nebo adresáře.

Tvrdé odkazy lze vytvořit pouze pro soubory.

Měkké i tvrdé odkazy musí být vytvořeny na stejném svazku jako cíl. tj. nelze odkazovat něco na C: na něco na D:.

Mazání odkazů

Tady je rozdíl mezi měkkými a tvrdými odkazy nejzřetelnější.

Mazání cíle způsobí, že měkké odkazy přestanou fungovat. To, na co odkazuje, zmizí. Tvrdé odkazy však budou fungovat dál, dokud neodstraníte samotný tvrdý odkaz. Tvrdý odkaz se chová stejně jako původní soubor, protože pro všechny účely je to původní soubor.

Junkce

Systém Windows má také další typ odkazu jen pro adresáře, který se nazývá Junctions.

Junkce vypadají a chovají se jako měkké odkazy. Hlavní rozdíl spočívá v tom, že umožňují propojovat adresáře, které se nacházejí na různých místních svazcích (ale stále na stejném počítači). Nelze vytvořit propojení na síťové umístění.

Pomocí MKLINK

Vytvořit měkký odkaz na adresář.

Vytvořit propojení na adresář.

Vytvořit měkký odkaz na soubor.

Vytvoření tvrdého odkazu na soubor.

Jak vypadají.

Poznámka pro uživatele prostředí PowerShell:
MKLINK není spustitelný soubor, který můžete jednoduše zavolat z prostředí PowerShell. Musíte jej zavolat prostřednictvím příkazového řádku.

cmd /c mklink /D symlink_dir real_dir

Alternativně můžete použít tento modul, který jsem napsal a který obsahuje nativní obaly prostředí PowerShell pro MKLINK.

Přečtěte si o MSLINK na MSDN.

Použití FSUTIL

FSUTIL je další způsob, jak vytvořit pevné odkazy (ale ne měkké odkazy). Je to stejné jako mklink /H.

Přečtěte si o FSUTIL na MSDN.

Použití nástroje Junction

Junction je nástroj poskytovaný společností Sysinternals a poskytuje další způsob vytváření spojů. Stejně jako mklink /J. Obsahuje také některé další nástroje pro práci s junkcemi, kterými se zde nebudu zabývat.