J'ai remarqué que les liens symboliques de Linux ne fonctionnent pas sous Windows, et vice versa. Existe-t-il un moyen de convertir les liens symboliques de Linux en liens symboliques de Windows? Plus précisément, je veux convertir les liens symboliques Linux relatifs en liens symboliques de Windows relatifs (au cas où le dossier avec les liens symboliques est stocké sur une clé USB, ou copié d'un système de fichiers Linux à un système de fichiers Windows).
Réponse
Trop de publicités?Windows n'a pas de liens symboliques en tant que tels. Il a des raccourcis, qui ne sont rien de plus que des fichiers texte spéciaux contenant un emplacement de destination. Ils diffèrent en fonctionnalités des liens symboliques. Par exemple, cette redirection sur un système POSIX (y compris OS X) :
./somecommand > ./somesymlink
mettra la sortie de la commande dans le fichier vers lequel le lien symbolique pointe, mais sur Windows
somecommand > someshortcut.lnk
se contenterait simplement d'écraser le raccourci - vous vous retrouveriez avec un fichier texte avec une extension confuse.
En revanche, les raccourcis de Windows peuvent contenir des arguments en ligne de commande qui modifient la nature réelle de la commande. Les liens symboliques n'ont pas cette capacité (bien que avec des alias shell, des fonctions et des scripts, vous ne le remarquerez pas vraiment.)
Cela dit, vous pouvez créer un fichier de raccourci de manière programmable sur Windows, vous pouvez donc créer un script qui essaiera de créer le bon fichier pour votre plateforme.