Vista / Win 7 / Win 8 / Win 8.1

Créer un lien symbolique sous Windows

SYMLINK sous WindowsWindows permet enfin de créer des liens symboliques comme cela est déjà le cas sous Linux avec la commande ln. Voyons de plus près comment faire cela et quelles commandes utiliser.

Même si le système NTFS avait, sous Windows 2000, apporté les liens symboliques sur répertoire (on parle aussi de jonctions de répertoires), il aura fallu attendre la sortie de Windows Vista pour avoir enfin la possibilité de créer des liens symboliques sur des fichiers (que l'on appelle aussi soft link sous Linux).

Une jonction de répertoire permet de créer un répertoire qui pointe sur un répertoire différent. Ainsi, il est par exemple possible de faire pointer le répertoire C:\sys32 vers C:\Windows\system32. L'avantage est donc d'avoir un chemin plus court pour aller dans votre répertoire.
Il est également intéressant de savoir que Windows gère les liens symboliques localement, c'est-à-dire qu'un lien pointant sur un fichier présent sur un serveur distant sera considéré comme étant local. Dans ce cas, votre lien symbolique peut très bien pointer sur un serveur de fichiers à distance. Intéressant, non ?

Pour créer un lien symbolique sous Windows Vista, il est tout d'abord nécessaire d'ouvrir une invite de commande en étant logué en tant qu'administrateur :

  • Allez dans le menu démarrer et tapez cmd dans le champs de recherche.
  • Une fois que le fichier cmd.exe est trouvé, cliquez dessus avec le bouton droit de la souris et choisissez l'option Exécuter en tant qu'administrateur.
Une fois dans l'invite de commande, la création d'un lien symbolique se réalise avec la commande mklink.

Voici la syntaxe de la commande ainsi que ses options disponibles :

MKLINK [[/D] | [/H] | [/J]] Lien Cible
/D : Crée un lien symbolique vers un répertoire. Par défaut, il s'agit d'un lien symbolique vers un fichier.
/H : Crée un lien réel à la place d'un lien symbolique.
/J : Crée une jonction de répertoires.
Lien : Spécifie le nom du nouveau lien symbolique.
Cible : Spécifie le chemin d'accès (relatif ou absolu) auquel le nouveau lien fait référence.

La création d'un lien symbolique se fera alors simplement. Par exemple :

mklink cmd \Windows\system32\cmd.exe

Création d'un lien symbolique

Si nous souhaitons par exemple créer un lien C:\sys32 qui pointe vers C:\Windows\system32, il nous suffit de créer une jonction de répertoire de la façon suivante :

mklink /j C:\ sys32 C:\Windows\system32

Jonction de répertoire

Lorsque vous listez un répertoire avec la commande DIR dans une invite de commande, les liens symboliques seront marqués comme <SYMLINK> avec la cible indiquée entre crochets.

SYMLINK

De même, les jonctions de répertoires seront marquées comme <JONCTION>.

JONCTION

Quand à leur visualisation dans l'explorateur de Windows, leurs icônes seront affichées avec la petite flèche de raccourci.

Note : l'ajout des liens symboliques dans Windows Vista a eu pour conséquence la modification de certaines commandes du système. Ainsi, si vous souhaitez effacer un lien symbolique, la commande Delete ne suivra pas le lien (ce qui effacerait la cible pointée par le lien !) mais supprimera simplement le lien lui-même.

Attention : si la commande Delete sait différencier un lien symbolique avec un fichier ou répertoire réel, ce n'est pas forcement le cas de toutes les applications ! Attention alors aux fausses manipulations !

Vos commentaires
Laissez un commentaire !
Voir aussi :
Création disque réparation système

Créer un disque de réparation système sous Windows 7

En cas de problème, Windows a prévu un outil de réparation système qui sera bien utile si son ordinateur ne démarre plus puisque le CD se lance de façon autonome au démarrage du PC... Mais faut-il...
Fichier host

Créer un lien symbolique sur le fichier hosts

Le fichier hosts est d'une grande utilité pour interdire l'accès à certains sites mais son chemin n'est pas forcement aisé à retenir. Afin de ne plus avoir à naviguer dans l'arborescence du disque,...
A découvrir également :
  1. Paul_1401 en tant qu'invité
    le 21 mars 2017 à 15h13

    Merci beaucoup pour ces explications super claires

    répondre
  2. popi_51 en tant qu'invité
    le 10 avril 2016 à 18h32

    Bonsoir à tous, ayant fait l'acquisition d'un ssd, je trouve les liens symboliques très intéressants. Cependant depuis 1 heure j’essaye de créer un lien entre le Bureau et un dossier de mon disque dur (D. L'idée est en fait 'alimenter le dossier présent dans le D: et d'avoir le contenu de ce dernier s'affichant sur mon bureau. J'ai déjà essayé pas mal de trucs ... Pouvez vous me dire si c'est possible ? Merci bien !

    répondre
  3. popi_51 en tant qu'invité
    le 10 avril 2016 à 18h32

    Bonsoir à tous, ayant fait l'acquisition d'un ssd, je trouve les liens symboliques très intéressants. Cependant depuis 1 heure j’essaye de créer un lien entre le Bureau et un dossier de mon disque dur (D. L'idée est en fait 'alimenter le dossier présent dans le D: et d'avoir le contenu de ce dernier s'affichant sur mon bureau. J'ai déjà essayé pas mal de trucs ... Pouvez vous me dire si c'est possible ? Merci bien !

    répondre
  4. CodeKiller en tant qu'invité
    le 29 mars 2016 à 15h52

    Ah j'ai trouvé finalement :
    http://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

    /D requière des droits admin car utilisable via le réseau, /J est purement local, un utilisateur distant ne pourra pas lire le contenu du répertoire si créer avec /J.

    Voilà voilà.

    répondre
  5. CodeKiller en tant qu'invité
    le 29 mars 2016 à 15h42

    Je me pose aussi la question de différence entre une jonction et un lien symbolique.
    Chez moi ça fonctionne de la même manière à priori.
    La seule différence c'est que /D requière des droits admin et pas /J...

    répondre
  6. Arafel en tant qu'invité
    le 01 septembre 2015 à 14h52

    Zebulon84 a dit :Grace à cette astuce je peut créer des liens, mais... j'ai du mal à comprendre les différences entre :

    - un raccourcis
    - un lien symbolique
    - une jonction
    - un lien réel.

    Je comprend que le lien est de plus en plus complet, mais quel sont précisément les subtiles différences ?
    L'un de ces liens (réel ?) permet-il de supprimer l'original sans supprimer le lien (je supprime le pointeur original, la copie du pointeur vise toujours sur le fichier) ?

    Coucou BigDuck!

    Ben, j'ignore si c'était comme ça à l'époque où t'as fait cet article, mais là, je viens d'essayer avec Windows10, et en fait, il crée des raccourcis, et non des liens symboliques... Effectivement, quand on vient du monde Windows, on ne fait pas vraiment la différence, mais dans le monde Linux, c'est une différence très importante...

    Bises et à bientôt!

    The Captain BIB

    répondre
  7. JF:) en tant qu'invité
    le 19 novembre 2009 à 19h27

    Bonjour
    Je me suis posé les mêmes questions que vous :
    Les Liens NTFS
    Cordialement,
    JF
    http://fspsa.free.fr/

    répondre
  8. Bla-Bla en tant qu'invité
    le 03 juillet 2008 à 14h40

    Bonjour "Zebulon84" ;

    Voici quelques indications...
    - Un raccourci est un fichier spécial dont Windows sait interpréter le contenu comme étant un moyen d'accéder à un fichier ou un répertoire. Mais cela reste un fichier séparé, qui n'a rien à voir avec le fichier ou le répertoire qu'il désigne, et en particulier, par exemple, on ne peut pas désigner le raccourci vers Lettre.doc dans la boîte de dialogue de Word.
    Les fonctionnalités des raccourcis sont donc limitées.

    - Un lien symbolique, par contre, est tout à fait similaire au raccourci, MAIS il désigne VRAIMENT le répertoire ou le fichier lui-même. Par exemple, un lien symbolique "D:\test" désignant le répertoire "C:\Documents and Settings\Bertrand\Projet X\Répertoire de tests" permet ensuite de taper (ou désigner par la souris) simplement "D:\test" partout où l'on aurait dû suivre toute l'arborescence "remplacée". Autre exemple, s'il y a un fichier que l'on hésite à placer dans un répertoire ou bien dans un autre, plutôt que de le recopier - auquel cas la mise à jour de l'un ne sera PAS répercutée dans l'autre - il est pratique d'utiliser un lien symbolique pour vraiment pouvoir accéder au même fichier depuis plusieurs emplacements.

    - La jonction, je n'ai pas Vista donc je ne sais pas. J'imagine que ça permet de faire en sorte qu'un répertoire "symbolique" rassemble plusieurs autres, par exemple si l'on définit le répertoire "D:\Vacances 2008" comme jonction de "C:\Mes Images\Photos\2008\Juillet" et "C:\Mes Vidéos\2008-07", cela permettra de retrouver en 1 seul endroit tous les fichiers figurant dans les autres répertoires...

    - Lien réel : là non plus je ne sais pas précisément ce qu'il en est pour Vista, mais sous Unix & co, c'est "simplement" un autre nom donné à un répertoire ou fichier existant, c'est à dire que c'est un fichier/répertoire qui désigne rigoureusement LE fichier/répertoire vers lequel il a été défini, donc tout ce que l'on fait dedans est fait sur l'original. La différence est que si l'on efface le fichier/répertoire désigné par un lien SYMBOLIQUE, le lien existe toujours mais tombe dans le vide, alors que si c'est un lien REEL qui avait été défini, le fichier/répertoire n'est pas effacé puisqu'il y a encore justement le lien réel qui permet encore d'y accéder. Dans ce cas, pour effacer VRAIMENT un fichier, il faut effacer TOUS les liens réels pouvant avoir été définis vers lui. A l'extrème, il n'existe pas de moyen de distinguer le fichier d'origine du lien réel le désignant.

    Voilà, j'espère avoir été clair. Tout cela m'ouvre des perspectives, et franchement, l'existence de ces liens symboliques sont à mes yeux une avancée majeure dans le monde Windows, qui me réconcilierait presque avec Vista - auquel je préférais largement XP avant de lire cette information ! C'est dire... C'était une des raisons qui me faisaient envisager un retour à Linux, que j'utilisais en 1995...

    Merci de bien noter que les 2 derniers points sont à vérifier, puisque je n'ai pas l'assurance de ce que j'y avance - amis je ne pense pas me tromper de beaucoup. Si quelqu'un veut corriger...

    Bonne journée !

    répondre
Ecrire un commentaire