Créer un lien symbolique sous Windows
Dans certains cas, nous pouvons avoir besoin de faire pointer un dossier/fichier vers un autre dossier/fichier. C’est le principe d’un lien symbolique (ou symlink). Mais sous Windows, comment on fait ? Haha la question qu’elle est bonne ! Et bien voyons donc ça.
Qu’est-ce qu’un lien symbolique
Donc même si je l’ai déjà expliqué brièvement, un lien symbolique, qu’est ce que c’est ? En gros, c’est un « raccourci ». Le principe est donc d’avoir un fichier/dossier qui pointe vers un fichier/dossier qui se trouve ailleurs sur le système.
Si je prends mon cas. J’utilise l’application Cmder (qui est un super outil que je recommande vivement), application que j’installe dans mon dossier « Program Files ». Le soucis de ce dossier est qu’il faut les droits admin pour pouvoir écrire dans un sous dossier. Le problème c’est que Cmder backup ses configs et a besoin de pouvoir écrire dans un de ses dossiers. Evidemment, Windows va dire non… La solution ? Lancer en mode admin evidemment ! Ou pas…
La solution serait de pouvoir stocker le dossier où il fait son backup à un autre endroit sur le disque (comme dans C:\Users\Default\AppData\Local\Cmder par exemple). Seul problème, cmder va toujours essayer de faire son backup là où il ne faut pas puisque l’endroit n’est pas configurable… Pour contourner ce problème, on va donc faire appel au lien symbolique. On va faire « croire » au soft qu’il écrit dans C:\Program Files (x86)\Cmder\config\ alors qu’en fait il va écrire dans C:\Users\Default\AppData\Local\Cmder\config\.
Créer un lien symbolique
Pour créer une lien symbolique sous Windows Vista/7/8/10, nous n’avons besoin que d’un cmd. Lancer votre Invite de commande en mode admin.
Il suffit après d’utiliser l’outil mklink pour créer nos liens symboliques (symlink).
De base mklink crée des liens symboliques vers les fichiers. Nous concernant, nous voulons effectuer un jonction vers un dossier. Nous allons donc utiliser l’option /J.
1 |
mklink /J "C:\Program Files (x86)\Cmder\config" "C:\Users\Default\AppData\Local\Cmder\config" |
Le premier argument corresond au dossier où on veut créer la jonction et le second argument, le dossier original.
Et tadaaaaa, maintenant notre dossier dans Program Files pointe vers notre dossier dans User.