Créer des liens symboliques sous Windows comme ln de Linux

Beaucoup de personnes pros Linux, ou Mac me dit souvent que Windows est nul, car il ne sait pas implémenter les liens symboliques dans le système de fichier.
Et bien messieurs c’est faut. Depuis la version « Windows Vista »,  il existe la commande mklink qui permet de créer de vrai lien symbolique au m^me titre que la commande « ln » sous Linux.

Ouvrer une linge de commande puis tapez mklink :

>mklink
Crée un lien symbolique.

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 physique à 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.

Les options :

  • /D : nécessite les privilèges « Administrateur ». Elle permet de créer un lien symbolique vers un dossier (et non un fichier)
  • /H : nécessite les privilèges « Administrateur ».  Elle permet de créer un lien « hard » vers un fichier et non un dossier. Rien ne distingue ce fichier de sa cible (commande « dir », ou Explorateur  de fichier). Renommer ou supprimer le fichier original ne casse pas le lien, ne supprime pas le « fichier cible »  au contraire des autres types de liens.
  • /J : pas besoin de privilèges « Administrateur ». Elle permet de créer un lien vers un dossier.
    Ainsi la ligne suivante :

    mklink /J MonDossier D:\pas\vrai

    Créera un lien symbolique « Mondossier » vers le dossier « D:\pas\vrai ». Depuis l’explorateur de fichier, l’icône « dossier » aura en plus une flèche dessus :icon link

Notes:

  • Que l’Explorateur de fichier de Windows sait reconnaitre un lien (symbolique ou de jonction) et qu’il vous permet de les détruire sans effacer le dossier cible.
  • La commande « dir » ( en « ligne de commande » ) avec l’option « /A » indique si un dossier est une jonction (« <JONCTION> ») ou un lien symbolique (« <SYMLINKD> ») en l’écrivant à la place de « <DIR> ».
  • Les jonctions ne sont pas visibles par les autres utilisateurs réseau au contraire des liens symboliques (d’où la demande des privilèges « Administrateur ») .