Créer un lien symbolique (ou symlink ou symbolic link) sous Windows permet de rediriger un fichier ou un dossier vers un autre emplacement, sans avoir à le déplacer ni le copier. Que ce soit pour optimiser l’organisation de vos fichiers, déplacer des fichiers sans casser les chemins ou installer un logiciel, le lien symbolique est une fonction utile à connaître. Dans cet article, nous verrons comment créer différents types de liens (symboliques, physiques, jonctions) sous Windows 10/11 et les cas d’usage adaptés à chacun.
Qu’est-ce qu’un lien symbolique ?
Un lien symbolique, aussi appelé symlink, peut être comparé à un raccourci qui permet de faire pointer un fichier ou un dossier vers un autre emplacement. Contrairement à une simple copie, il ne duplique pas les données : il sert de référence et redirige automatiquement vers la cible réelle. Ainsi, lorsque vous accédez à un lien symbolique, c’est comme si vous utilisiez directement le fichier ou dossier d’origine. Cette technique est particulièrement utile pour organiser des fichiers, libérer de l’espace sur une partition, ou encore pour certains usages en développement logiciel.
Exemple 1 : vous créez un lien symbolique de C:\Répertoire_A
vers D:\Répertoire_B
. Le contenu de C:\Répertoire_A
s’affiche dans D:\Répertoire_B
sans pour autant y être présent physiquement.
Exemple 2 : un logiciel ne peut pas s’installer sur le deuxième disque dur de votre ordinateur, D:\Logiciels
, car il doit obligatoirement être installé dans C:\Programmes...
. Dans ce cas, vous pouvez créer un lien symbolique (ou jonction) entre ces deux répertoires. Le logiciel sera ainsi redirigé vers D:\Logiciels
, tout en pensant être dans C:\Program Files
.
Créer un lien symbolique avec la commande Windows mklink
Description de la commande mklink
La commande cmd pour créer un lien symbolique sous Windows est mklink
. Sa syntaxe est la suivante :
mklink [options] [lien] [cible]
Où :
[lien]
est l’emplacement où vous souhaitez créer le lien.[cible]
est le fichier ou dossier vers lequel le lien symbolique doit pointer.[options]
est l’une des options suivantes (facultatif) :/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.
Nous verrons plus bas la différence entre un lien symbolique, un lien physique et une jonction.
⚠️Important : vous devez utiliser la commande mklink
avec élévation, c’est à dire dans une invite de commande Windows en mode administrateur. Pour la création de liens symboliques sans privilèges administrateurs, vous devez activer le Mode développeur dans Paramètres – Système – Espace développeur.
Créer un lien symbolique entre deux fichiers
Pour créer un lien symbolique vers un fichier, utilisez la commande suivante dans un cmd en mode administrateur :
mklink "C:\Chemin\Vers\Lien.txt" "D:\Dossier\Cible.txt"
Créer un lien symbolique entre deux dossiers
Pour créer un lien symbolique vers un dossier, ajoutez l’option /D
:
mklink /D "C:\Chemin\Vers\Dossier" "D:\Dossier\Cible"
Créer un lien symbolique vers un partage réseau
Toujours avec l’option /D
, vous pouvez aussi définir un partage réseau en cible :
mklink /D "C:\Chemin\Vers\Dossier" "\\Adresse_IP\Nom_Du_Partage"
Créer un lien symbolique sur Windows avec un logiciel
Symlink Creator, un logiciel opensource est disponible sur GitHub. Ce petit exécutable propose une interface pour exécuter la commande mklink
. Il fonctionne en mode portable et peu être ajouté à votre liste d’utilitaires.
Comment supprimer un lien symbolique ?
Supprimer un lien symbolique (symlink) est très simple, il suffit de supprimer le lien lui-même, pas la cible. Depuis l’explorateur de fichiers Windows :
- Aller dans le dossier où se trouve le lien symbolique.
- Faire un clic droit sur le lien.
- Puis Supprimer.
- Cela ne supprime pas le fichier ou le dossier cible, seulement le lien.
Différence entre lien symbolique, lien physique et jonction
La différence entre un lien symbolique, un lien physique et une jonction se ressemblent peut porter à confusion. Comparons maintenant les trois types de liens utilisés sous Windows NTFS : jonction, lien symbolique (symlink), et lien physique (hard link).
Critère | Lien symbolique (symlink ) | Jonction (junction ) | Lien physique (hard link ) |
---|---|---|---|
Peut pointer vers | Fichier (/H ) ou dossier (/D ) | Dossier uniquement | Fichier uniquement |
Type de redirection | Redirection logique vers un chemin | Référence directe aux données du répertoire (partage les mêmes données) | Référence directe aux données du fichier (partage les mêmes données) |
Chemin cible requis | Peut être n’importe quel chemin (fichier ou dossier) | Doit être un dossier local | Doit être un fichier existant sur le même volume |
Fonctionne entre volumes ? | ✅ Oui (volumes locaux et réseaux) | ✅ Oui (volumes locaux uniquement) | ❌ Non (même volume uniquement) |
Fonctionne vers un partage réseau ? | ✅ Oui | ❌ Non | ❌ Non |
Transparence pour les programmes | ✅ Oui (dans la plupart des cas) | ✅ Oui (mais visible comme redirection) | ✅ Oui (considéré comme le fichier lui-même) |
Visibilité de la cible dans l’explorateur | Visible comme raccourci spécial | Visible comme raccourci spécial | Non visible (identique à l’original) |
Suppression de la cible | Le lien devient cassé | Le lien devient cassé | Aucune donnée supprimée tant qu’un lien existe |
En savoir plus sur la documentation officielle Microsoft à propos du lien physique et jonction.
Quand utiliser l’un ou l’autre ?
Besoin / Contexte | À utiliser |
---|---|
Un fichier à deux endroits, sans le dupliquer | Lien physique |
Un raccourci flexible vers fichier ou dossier | Lien symbolique |
Un dossier local déplacé sans casser les chemins | Jonction |
Rediriger un chemin vers un dossier réseau | Lien symbolique |
Ancien programme qui accepte mal les symlinks | Jonction |
Bonjour,
Mon disque C est plein et je souhaiterais orienter les sauvergardes Itunes vers mon disque E.
J’ai saisi:
mklink /D « C:\Users\JH\Apple\MobileSync\Backup » « E:\Backup »
Les sauvergardes sont bien crées dans « E:\Backup » mais EGALEMENT dans « C:\Users\JH\Apple\MobileSync\Backup », ce qui ne résout pas mon probleme.
Savez vous comment ne pas Dupliquer les fichiers mais les créer seulement sur la destination?
par avance merci.
Bonjour David,
Merci de votre réponse
En effet j’ai pu modifier l’adresse de mes Symlinks grâce à LinkShell.
Une fois fait, j’ai en effet dû déplacer les données vers les nouveaux dossiers ciblés du SSD.
Tout à l’air de fonctionner parfaitement.
Bonjour,
Merci pour ce tutoriel explicatif très complet !
J’utilise depuis peu les liens symboliques pour gagner de l’espace systèmes de données utilisées par des plugins sur mon ordinateur, et les rediriger vers un HDD externe.
Seulement ce HDD commence à devenir assez vieillissant et rempli.
J’ai donc investi dans un SSD pour remplacer mon HDD, mais des liens symboliques sont déjà en place sur le HDD.
Sachant que j’ai créé ces liens symboliques, non pas par le terminal de commandes, mais par un logiciel développé pou ça « Ultimate Plugin Tooll ».
Et il se trouve qu’à priori, ce logiciel n’a pas d’historique de la création des liens symboliques.
Est-il possible de modifier un lien symbolique existant, pour le rediriger vers un autre adresse ?
Merci beaucoup !
Bonjour,
Pourquoi ne pas cloner le disque vers le SSD ? Comme ça, vu que c’est un remplacement, pas de modif à faire. Sinon, en ligne de commande, on ne peut pas modifier un lien symbolique, il faut le supprimer et le recréer. Sinon ça devrait être possible d’en modifier avec l’extension citée dans l’article : Link Shell Extension
Bonjour, je viens de remplacer mon hdd vieillissant par un ssd. J’ai partitionné le ssd pour mettre C: tout seul dans une partition de 40Gigas et ainsi garder tout l’espace disponible sur B:.
Tout ce que je dois/peux installer se fait sur B:.
Évidemment, je n’avais pas anticipé le fait que l’Appdata présent dans C: allait rapidement saturer cette partition.
J’ai donc décidé de créer une jonction entre les deux partitions comme suit: mklink /J « C:\Users\…\appdata » « B:\appdata »
Réponse: impossible de créer un fichier déjà éxistant.
J’ai suivi un tuto pour la marche à suivre. Dans un premier temps il faut déplacer « manuellement »le dossier source vers le dossier cible et ensuite faire la commande dans l’invit. Mais l’appdata source ne se déplace pas (en tout cas pas chez moi).
Si vous avez une solution, je suis preneur. Merci.
Bonjour, que signifie des chemins de fichiers qui comporte des % à la place des lettres de volumes. A quoi cela sert il ?
Bonjour,
Ce sont des variables d’environnement qui permettent de stocker un chemin d’accès dans une variable pour faciliter leur accès par des logiciels, utilisateurs …
Bonjour,
j’utilise les liens symboliques depuis quelques temps
j’ai remarqué que parfois ils ne fonctionnent pas pour certaines applications
par exemple pour certaines dll, ou certains dossiers les liens semblent fonctionnels mais pourtant l’application ne se lance pas !
y-a-t-il une raison à cela ?
Bonjour,
Je pense que c’est lié à l’application. Certaines ne doivent pas être en mesure de gérer correctement les liens symboliques, selon comment elles ont été développées.