Création de liens symboliques
La fonction CreateSymbolicLink vous permet de créer des liens symboliques à l’aide d’un chemin d’accès absolu ou relatif.
Les liens symboliques peuvent être des liens absolus ou relatifs. Les liens absolus sont des liens qui spécifient chaque partie du nom de chemin d’accès ; les liens relatifs sont déterminés par rapport à l’emplacement relatif : les spécificateurs de lien se trouvent dans un chemin d’accès spécifié. Les liens relatifs sont spécifiés à l’aide des conventions suivantes :
Point (. et..) les conventions, par exemple, « .. \ » résout le chemin d’accès relatif au répertoire parent.
Les noms sans barres obliques ( \ ), par exemple, « tmp » résout le chemin d’accès relatif au répertoire actif.
la racine relative, par exemple « \ Windows \ system32 », est résolue en «lecteur actuel: \ Windows \ System32 ». Répertoire
répertoire de travail actuel-relatif : par exemple, si le répertoire de travail actuel est « c : \ Windows \ system32 », « C:File.txt » est résolu en « c : \ Windows \ System32 \File.txt ».
Remarque Si vous spécifiez un lien relatif au répertoire de travail actif, il est créé en tant que 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 des points de jonction et des dossiers montés dans le cadre du nom du chemin d’accès.
Les liens symboliques peuvent pointer directement vers un fichier ou un répertoire distant à l’aide du chemin d’accès UNC.
Les liens symboliques relatifs sont limités à un seul volume.
Exemple de lien symbolique absolu
Dans cet exemple, le chemin d’accès d’origine contient un composant, 'x', qui est un lien symbolique absolu. Lorsque'x'est rencontré, le fragment du chemin d’accès d’origine jusqu’à'x', y compris, est complètement remplacé par le chemin d’accès désigné par'x'. Le reste du chemin d’accès après «x» est ajouté à ce nouveau chemin d’accès. Cela devient alors le chemin d’accès modifié.
X : « C : \ alpha \ beta \ absLink \ gamma \ file »
Lien : « absLink » est mappé à « \ \ machineB \ share »
Chemin modifié : « \ \ machineB \ share \ gamma \ file »
Exemple de liens symboliques relatifs
Dans cet exemple, le chemin d’accès d’origine contient un composant «x», qui est un lien symbolique relatif. Lorsque'x'est rencontré, 'x'est complètement remplacé par le nouveau fragment pointé par'x'. Le reste du chemin d’accès après «x» est ajouté au nouveau chemin d’accès. Tous les points (..) de 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 retournée. Dans le cas contraire, lorsque tous les composants de remplacement sont terminés, le chemin d’accès final modifié est conservé.
X : C : \ \ \ fichier gamma de liaison bêta \ alpha \
Lien : « Link » est mappé à «.. \ .. \ thêta
Chemin modifié : «C : \ alpha \ beta \ ... \ . \ \fichier gamma thêta \ "
Chemin final : « C : \ Theta \ gamma \ file »