Hors Linux

Les liens symboliques sous Windows

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction





L'introduction est nécessaire... surtout quand on parle de Windows sur un site dédié à GNU/Linux et les logiciels libres :D



Mais là, c'est une astuce qui m'a sauvé la vie !



En effet, Au travail, j'utilise des applications qui ont la fâcheuse tendance à mettre leurs préférences dans mon dossier personnel (entendez par là C:\Users\adrien)



Or, je stocke mes documents ailleurs pour les sauvegarder facilement. Imaginons, dans ... U:.





Les liens symboliques, la commande magique !











Code C# :
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 commande mklink s'emploie dans l'autre sens par rapport à ln, où



Code BASH :
ln -sv /chemin/de/destination nomdulien




Utilisez !







Pour créer un lien symbolique, on se rend en console. (Démarrer, Exécuter..., taper cmd)



Je vais prendre l'exemple du dossier utilisateur de Chromium. Il se loge dans C:\Users\%username%\AppData\Local\Chromium\User Data.

je vais le déplacer dans U:\profil_chromium.



Ensuite, je vais créer un lien symbolique de C:\Users\%username%\AppData\Local\Chromium\User Data\Default qui va donc pointer sur U:\profil_chromium



Code C# :
C:\Users\adrien\AppData\Local\Chromium\User Data>mklink /d Default U:\profil_chromium
Lien symbolique créé pour Default <<===>> U:\profil_chromium
 
C:\Users\adrien\AppData\Local\Chromium\User Data>




Et la commande dir indique bien que mon dossier est un lien symbolique :



Code BASH :
C:\Users\adrien\AppData\Local\Chromium\User Data>dir
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est A09B-FE61
 
 Répertoire de C:\Users\adrien\AppData\Local\Chromium\User Data
 
30/06/2014  19:01    <REP>          .
30/06/2014  19:01    <REP>          ..
29/06/2014  13:54            18 108 85E7.tmp
30/06/2014  18:54           222 394 Certificate Revocation Lists
30/06/2014  19:01    <SYMLINKD>     Default [U:\profil_chromium]
29/06/2014  12:19                 0 First Run
30/06/2014  19:01            18 134 Local State
30/06/2014  19:01                 0 lockfile
29/06/2014  12:26    <REP>          pnacl
30/06/2014  18:51         6 949 568 Safe Browsing Bloom
30/06/2014  18:51         1 468 826 Safe Browsing Bloom Prefix Set
30/06/2014  18:52             6 144 Safe Browsing Cookies
30/06/2014  18:52             4 640 Safe Browsing Cookies-journal
30/06/2014  18:51           113 276 Safe Browsing Csd Whitelist
30/06/2014  18:51         1 087 976 Safe Browsing Download
30/06/2014  18:51            14 984 Safe Browsing Download Whitelist
30/06/2014  18:51            34 768 Safe Browsing Extension Blacklist
30/06/2014  18:51               592 Safe Browsing IP Blacklist
              14 fichier(s)        9 939 410 octets
               4 Rép(s)   3 562 979 328 octets libres




En revanche, dans l'explorateur de fichiers, il s'affiche comme un simple raccourci, mais il ne porte pas l'extension .lnk :



windows_lien_symbolique







Et si je supprime ?





Si on supprime le lien symbolique, et bien, cela provoque le même effet que sous Linux, ou avec un raccourci Windows classique, c'est à dire la suppression du lien.

Cela ne supprime pas le dossier sur lequel il ponte ni ses fichiers.







Pratique pour faire des vrais lien symboliques comme sous notre système préféré :intello: