120 votes

Comment créer un lien symbolique dans Windows?

Windows Vista a ajouté la possibilité de créer des liens symboliques vers des fichiers et des répertoires. Comment puis-je créer un lien symbolique et quelles sont les versions actuelles pour les consommateurs et les serveurs de Windows qui le prennent en charge?

6 votes

Quelqu'un peut-il mettre en évidence les différences entre un lien symbolique et un raccourci?

1 votes

@tomjedrz : si vous utilisez un raccourci, tout API pour ouvrir ce raccourci ouvrira un fichier texte contenant le chemin vers le fichier/dossier cible. Si vous utilisez des liens, tout API pour ouvrir ce lien ouvrira le fichier/dossier cible.

2 votes

Contrairement à ce que toutes les personnes ont dit, je confirme que il est possible d'utiliser des liens symboliques dans Windows XP. (Je l'utilise pour installer la base de données de Picasa sur un dossier partagé VM). Jetez simplement un œil à schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html et accédez à la section "Liens symboliques pour Windows XP". HTH

115voto

Pierre Spring Points 2398

Vous pouvez créer un lien symbolique avec l'utilitaire en ligne de commande mklink.

MKLINK [[/D] | [/H] | [/J]] Lien Cible

        /D      Crée un lien symbolique de répertoire. Par défaut, il crée un lien symbolique de fichier.
        /H      Crée un lien physique au lieu d'un lien symbolique.
        /J      Crée un jonction de répertoire.
        Lien    spécifie le nouveau nom du lien symbolique.
        Cible   spécifie le chemin (relatif ou absolu) vers lequel le nouveau lien fait référence.

Les liens symboliques via mklink sont disponibles depuis Windows Vista et Windows Server 2008. Sur Windows XP et Windows Server 2003, vous pouvez utiliser

fsutil hardlink create  

Selon msdn.microsoft, les liens symboliques NE sont PAS pris en charge sur les systèmes FAT16/32 et exFAT. Il semble que Windows les supporte uniquement depuis ou vers les partitions NTFS. Les futurs systèmes d'exploitation Windows devraient continuer à prendre en charge mklink.

Vous pouvez lire davantage d'informations sur cette nouvelle fonctionnalité sur Microsoft TechNet, le blog de Junfeng Zhang ou sur howtogeek.com.

0 votes

Ce serait bien d'ajouter l'URL de Technet de David à votre entrée pour plus de complétude.

0 votes

Site remarque, qu'est-ce qu'une jonction (/J option) ?

0 votes

Un point de jonction de répertoire est un type de lien symbolique vers un répertoire. support.microsoft.com/?kbid=205524

30voto

saschabeaumont Points 2794

Sous Windows XP, vous pouvez utiliser fsutil (intégré au système d'exploitation) pour créer un lien physique

 fsutil hardlink create c:\foo.txt c:\bar.txt

Gardez à l'esprit que fsutil ne fonctionnera que si les deux fichiers sont sur le même lecteur

2 votes

Bonne réponse. Je suis sur WinXP / Win2003 et j'avais besoin de mklink, mais cela a résolu mon problème pour moi. J'utilise habituellement junction.exe de sysinternals, mais cela ne gère que les répertoires et dans ce cas j'avais besoin d'un lien de fichier

0 votes

C'est dommage qu'un lien symbolique ne puisse pas être créé par fsutil, du moins d'après ce que j'ai lu ailleurs. Il s'agit d'un lien dur et donc pas une réponse à la question.

10voto

Une petite chose, si vous utilisez Powershell, mklink ne fonctionne pas directement, exécutez-le comme ceci:

PS C:\d\eclipseInstalls> cmd /k mklink /D antRunner 3.4.2
lien symbolique créé pour antRunner <<===>> 3.4.2

1 votes

Cela devrait être /c, pas /k, sinon cmd.exe ne se fermera pas.

7voto

ConroyP Points 24021

Utilisez mklink ou junction de Sysinternals (Microsoft). Je pense que mklink fonctionnera sous Windows 2000 et versions ultérieures, mais je ne trouve aucune documentation fiable à ce sujet. junction est pour Windows 2000 et versions ultérieures.

1 votes

La commande mklink est disponible uniquement sur Vista, Server 2008 et versions ultérieures, comme je l'ai souligné ci-dessus.

4voto

Joe Dovahkiin Points 17269

N'ai pas vu cela dans aucune des réponses, mais linkd.exe (dans le Windows 2003 Resource kit ici) vous permet de créer des jonctions, qui fonctionnent pratiquement comme le fait un lien symbolique dans Linux. Les jonctions sont disponibles à partir de Windows 2000 et plus récent, donc il suffit de copier linkd.exe vers le système cible et cela devrait fonctionner.

1 votes

Notez que `/linkd` est uniquement pour les répertoires, pas les fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X