D’abord, une rapide définition des termes. Il existe trois types de « symlinks » sous Windows.

  • Liens souples (aussi appelés symlinks, ou liens symboliques)
  • Liens durs
  • jonctions (un type de lien souple uniquement pour les répertoires)

Les liens souples peuvent être créés pour les fichiers ou les répertoires.

Les liens durs ne peuvent être créés que pour les fichiers.

Les liens souples et durs doivent être créés sur le même volume que la cible, c’est-à-dire que vous ne pouvez pas lier quelque chose sur C: à quelque chose sur D:.

Suppression de liens

C’est là que la différence entre les liens souples et durs est la plus évidente.

Supprimer la cible fera que les liens souples cesseront de fonctionner. Ce vers quoi il pointe a disparu. Les liens durs, en revanche, continueront à fonctionner jusqu’à ce que vous supprimiez le lien dur lui-même. Le lien dur agit exactement comme le fichier original, car à toutes fins utiles, c’est le fichier original.

Junctions

Windows a également un autre type de lien juste pour les répertoires, appelé Junctions.

Les Junctions ressemblent et agissent comme des liens souples. La différence essentielle est qu’elles vous permettent de lier des répertoires qui sont situés sur des volumes locaux différents (mais toujours sur le même ordinateur). Vous ne pouvez pas créer une jonction vers un emplacement réseau.

Utiliser MKLINK

Créer un lien souple vers un répertoire.

Créer un lien de jonction vers un répertoire.

Créer un lien souple vers un fichier.

Créer un lien dur vers un fichier.

À quoi ils ressemblent.

Note pour les utilisateurs de PowerShell:
MKLINK n’est pas un exécutable que vous pouvez simplement appeler depuis PowerShell. Vous devez l’appeler via l’invite de commande.

cmd /c mklink /D symlink_dir real_dir

Alternativement, vous pouvez utiliser ce module que j’ai écrit qui a des wrappers PowerShell natifs pour MKLINK.

Lisez à propos de MSLINK sur MSDN.

Utilisation de FSUTIL

FSUTIL est une autre façon de créer des liens matériels (mais pas des liens souples). Identique à mklink /H.

Lisez sur FSUTIL sur MSDN.

Utiliser Jonction

Jonction est un outil fourni par Sysinternals et fournit une autre façon de créer des jonctions. C’est la même chose que mklink /J. Il a également quelques autres outils pour travailler avec des jonctions que je ne couvrirai pas ici.