Un moyen simple et facile de créer des liens symboliques sous Windows?

Réponses:

108

Avez-vous regardé Junction ?

Windows Vista a également introduit l' outil de ligne de commande mklink pour créer des liens symboliques.

MKLINK [[/D] | [/H] | [/J]] Link Target
    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link refers to.

Scott Hanselman a écrit un article à ce sujet à http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx .

Si vous ne parlez que de Windows XP, je n’ai jamais utilisé que l’outil Junction.

David Mohundro
la source
4
Il semble qu'une autre option pourrait être le commutateur / J sur mklink (par exemple, "mklink / J <JUNCTION> <DIR>"). Notez que ce n'est pas un exécutable séparé, mais une commande dans cmd. Par conséquent, si vous appelez depuis PowerShell, vous devrez vous connecter à cmd (c.-à-d. "Cmd / c mklink / J <JUNCTION> <DIR>" )
David Mohundro
Wow Junction fonctionne très bien. Cela crée un véritable lien symbolique et même Cygwin le suivra.
Styfle
3
mklinkétait exactement ce que je cherchais.
prolink007
2
Pourquoi oh pourquoi ont-ils inversé l'ordre des arguments de l'ancienne lncommande UNIX ?
kbolino
1
@kbolino: facile! Parce qu'ils s'attendent simplement à ce que le monde des logiciels libres "rattrape" leur retard ... euh.
tniles
22

Il existe un outil appelé Link Shell Extension qui facilite la création de liens symboliques vers des fichiers, ainsi qu'un ancien type de lien appelé "jonction" (en gros, un lien symbolique vers un dossier), ainsi que de nombreux types de liens plus exotiques.

entrez la description de l'image ici

L'utilisation de base est simple: accédez au dossier source, cliquez avec le bouton droit de la souris sur le fichier ou le dossier vers lequel vous souhaitez créer un lien, puis choisissez la nouvelle option "Choisir la source du lien" dans le menu contextuel. Ensuite, allez dans le dossier dans lequel vous voulez supprimer le lien, cliquez avec le bouton droit de la souris et sélectionnez "Déposer comme", puis "Lien symbolique" pour les fichiers ou "Jonction" pour les dossiers.

mais

ATTENTION: Une des raisons pour lesquelles Microsoft rend la tâche difficile, c’est que les jonctions et les liens symboliques peuvent rendre très facile la suppression accidentelle de fichiers critiques!

Dans certaines versions antérieures à Windows 7, la suppression d'une jonction ou d'un lien symbolique dans l'Explorateur supprime également automatiquement le répertoire d'origine!

Je crois que ce problème est maintenant résolu ... mais bien sûr, je ne fais aucune promesse ... soyez particulièrement prudent avec les navigateurs de fichiers tiers (si vous êtes sur le point d'avoir besoin de liens symboliques, je suis sûr que vous en serez péniblement victime. conscient de la force de l’explorateur Windows 7.)

Mais je m'égare. Mon point est le suivant: soyez prudent, faites vos devoirs et lisez la documentation de LSE pour savoir comment fonctionnent réellement les jonctions et les liens symboliques.

Robert Roos
la source
9

le répertoire référencé devrait fonctionner comme s'il avait été ajouté à% PATH%, à droite

Non, si vous avez ajouté C: \ bin à votre% PATH% et que c: \ bin a été créé, vous avez créé une jonction appelée c: \ bin \ anotherDir \ pour qu'elle pointe sur c: \ anotherDir \ afin que vous puissiez exécuter some.exe à partir de la ligne de commande comme:

> anotherDir\some.exe

Cela ne fonctionnerait pas car la variable% PATH% ne fonctionnait pas avec les sous-répertoires (liés symboliquement ou non)

vous auriez besoin de créer un lien dur directement à some.exe, de sorte que le lien dur c: \ bin \ some.exe pointe vers c: \ anotherDir \ some.exe

En résumé, je ne crois pas que vous puissiez faire exactement ce que vous demandez. Cela dit, je recommande Link Shell Extension pour la création de jonctions et de liens durs. Il offre plus de fonctionnalités que la plupart des outils de jonction dans une extension Windows Explorer très facile à utiliser.


la source
7

Essayez Symlinker un outil graphique pour créer un lien symbolique dans Windows

Cette application nécessite .Net Framework 3.5 pour fonctionner (SP1 recommandé) et à partir du 24/04/2015, ce logiciel ne fonctionnera que sous

  • Windows Vista
  • Windows 7
  • Windows 8 et 8.1

Interface utilisateur Symlinker

Taranfx
la source
Peut-il créer des liens symboliques sur Windows XP?
Sebastian Godelet
7

Windows Vista, 7 et 8 sous Windows:

  1. Fichier Lien symbolique (par défaut):
    • mklink <oldpath> <newpath>
  2. Annuaire Lien symbolique :
    • mklink /D <oldpath> <newpath>
BenH
la source
C'était déjà proposé comme réponse il y a 7 ans.
Josh
3
C'est inexact: Windows XP n'a pas demklink commande en mode natif .
patricktokeeffe
Vista était la première version de Windows à inclure mklink, par technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx
Je dis:
4

Je ne pense pas que la version de NTFS fournie avec XP supporte les liens symboliques. NTFS6, livré avec Vista et Windows 7, prend en charge les liens symboliques avec la mklinkcommande. La version XP de NTFS prend en charge les liens en dur, mais ceux-ci ne peuvent pas couvrir des volumes.

Darth Android
la source
2

La jonction est un excellent utilitaire, mais il convient de surveiller les points de jonction exactement de la même manière que les dossiers ordinaires dans l'Explorateur Windows.

Utilisez 'junction.exe -s' sur la ligne de commande pour répertorier toutes les jonctions des dossiers et sous-dossiers.

Jonathan Webb
la source
0

Il existe un logiciel léger appelé "Easy Symbolic Link" qui facilite leur création avec un clic droit. Essayez-le ici:

https://blog.afach.de/?page_id=589

Le physicien quantique
la source