Création de liens symboliques
La fonction CreateSymbolicLink vous permet de créer des liens symboliques en utilisant soit un chemin absolu, soit un chemin relatif.
Les liens symboliques peuvent être soit absolus, soit relatifs. Les liens absolus sont des liens qui spécifient chaque partie du nom du chemin ; les liens relatifs sont déterminés en fonction de l’endroit où les spécificateurs de liens relatifs se trouvent dans un chemin spécifié. Les liens relatifs sont spécifiés en utilisant les conventions suivantes :
Conventions de point (. et ..)—par exemple, « ..\ » résout le chemin par rapport au répertoire parent.
Les noms sans barres obliques (\)—par exemple, « tmp » résout le chemin par rapport au répertoire actuel.
Relatif à la racine—par exemple, « \Windows\System32 » se résout en « lecteur actuel:\Windows\System32 ». directory
Relatif au répertoire de travail actuel—par exemple, si le répertoire de travail actuel est « C:\Windows\System32 », « C:File.txt » se résout en « C:\Windows\System32\File.txt ».
Remarque
Si vous spécifiez un lien relatif au répertoire de travail actuel, il est créé comme un lien absolu, en raison de la façon dont le répertoire de travail actuel est traité en fonction de l’utilisateur et du thread.
Un lien symbolique peut également contenir à la fois des points de jonction et des dossiers montés dans le cadre du nom du chemin.
Les liens symboliques peuvent pointer directement vers un fichier ou un répertoire distant en utilisant le chemin UNC.
Les liens symboliques relatifs sont restreints à un seul volume.
Exemple d’un lien symbolique absolu
Dans cet exemple, le chemin d’origine, « X », contient un composant, « absLink », qui est un lien symbolique absolu. Lorsque « absLink » est rencontré, le fragment du chemin d’origine jusqu’à et y compris « absLink » est complètement remplacé par le chemin pointé par « absLink ». Le reste du chemin après « absLink » est ajouté à ce nouveau chemin. Cela devient maintenant le chemin modifié.
X : « C:\alpha\beta\absLink\gamma\file »
Lien : « absLink » correspond à « \\machineB\share »
Chemin modifié : « \\machineB\share\gamma\file »
Exemple de liens symboliques relatifs
Dans cet exemple, le chemin d’origine, « x », contient un composant « link », qui est un lien symbolique relatif. Lorsque « link » est rencontré, « link » est complètement remplacé par le nouveau fragment pointé par « link ». Le reste du chemin après « link », est ajouté au nouveau chemin. Tous les points (..) dans ce nouveau chemin remplacent les composants qui apparaissent avant les points (..). Chaque ensemble de points remplace le composant précédent. Si le nombre de points (..) dépasse le nombre de composants, une erreur est renvoyée. Sinon, lorsque tous les remplacements de composants sont terminés, le chemin final et modifié reste.
X : C:\alpha\beta\link\gamma\file
Lien : « link » correspond à « ..\..\theta »
Chemin modifié : « C:\alpha\beta\..\..\theta\gamma\file »
Chemin final : « C:\theta\gamma\file »